재귀
2637 단어 cppcodenewbiebeginnersalgorithms
아래 재귀 함수:
f(x,카운트)=10+x+f(x,카운트−1)f(x,\mathrm{카운트}) = 10 + x + f(x,\mathrm{카운트 - 1}) f(x, 카운트)=10+x+f(x,카운트-1)
소환장을 받다
xx 엑스
플로트와
카운트\mathrm{카운트} 카운트
재귀 횟수를 정의하는 인덱스. 이 함수는 재귀할 때마다 이 인덱스를 감소시키고 "0"으로 함수를 종료합니다.
카운트\mathrm{카운트} 카운트
값이 0이 됩니다.
코드에서 이 함수 정의:
#include <bits/stdc++.h>
using namespace std;
double recurAdd(double x, int count)
{
if (count == 0){return 0;} // termination
return 10 + x + recurAdd(x, count - 1);
}
// Driver code
int main()
{
cout << recurAdd(0.5, 3);
return 0;
}
이 작은 프로그램은 최종 값으로 31.5를 출력합니다. 다음과 같은 방법으로 완전한 재귀를 나타낼 수 있습니다.
f1=10+0.5+(10+0.5+(10+0.5(0)))f_1 = 10 + 0.5 + ( 10 + 0.5 + ( 10 + 0.5 (0) ) ) f1 =10+0.5+(10+ 0.5+(10+0.5(0)))
재귀는 첫 번째 입력 반복에서 마지막 입력 반복까지 다음과 같은 방식으로 분류할 수 있습니다.
f1=10+0.5+f2f2=10+0.5+f3f3=10+0.5+f4f4=0f_1 = 10 + 0.5 + f_2\\f_2 = 10 + 0.5 + f_3\\f_3 = 10 + 0.5 + f_4\\f_4 = 0 f1 =10+0.5+f2 f2 =10+0.5+f3 f3 =10+0.5+f4 f4 =0
마지막 입력 함수 이후
f4f_4 f4
종료되면 작업 실행이 가장 깊은 곳에서 발생하도록 시각화할 수 있습니다.
f4f_4 f4
가장 바깥쪽으로
f1f_1 f1
둥지.
-앤드류
Reference
이 문제에 관하여(재귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andrewrgarcia/recursion-2pp1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)