재귀는 자신을 호출하는 메서드입니다. 프로그래밍 언어에서는 동일한 함수 내에서 함수를 호출할 수 있는 프로그램을 함수의 재귀 호출이라고 합니다.
void recursion() { recursion(); /* 函数调用本身 */ } int main() { recursion(); }
C 언어는 재귀, 즉 자신을 호출하는 함수를 지원합니다. 그러나 재귀를 사용할 때 프로그래머는 함수의 종료 조건을 정의할 때 주의해야 합니다. 그렇지 않으면 무한 루프에 들어갈 것입니다.
재귀 함수는 숫자의 계승 계산, 피보나치 수열 생성 등과 같은 많은 수학적 문제를 해결하는 데 매우 유용합니다.
숫자의 계승
다음 예에서는 재귀를 사용하여 주어진 숫자의 계승 함수를 계산합니다
#include <stdio.h> unsigned long long int factorial(unsigned int i) { if(i <= 1) { return 1; } return i * factorial(i - 1); } int main() { int i = 12; printf("Factorial of %d is %d\n", i, factorial(i)); return 0; }
출력:
Factorial of 12 is 479001600
피보나치 수열
다음 예에서는 주어진 숫자에 대한 재귀 함수를 사용합니다. 피보나치 계열 생성
#include <stdio.h>int fibonacci(int i) { if(i == 0) { return 0; } if(i == 1) { return 1; } return fibonacci(i-1) + fibonacci(i-2);}int main() { int i; for (i = 0; i < 10; i++) { printf("%d\t\n", fibonacci(i)); } return 0;}
출력:
0 1 1 2 3 5 8 13 21 34
권장 관련 C 언어 비디오 튜토리얼: "C Tutorial"
이 문서는 C 언어 재귀 알고리즘에 대한 소개입니다. 이 문서가 필요한 친구들에게 도움이 되기를 바랍니다. .
위 내용은 C 언어로 재귀 알고리즘을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!