>백엔드 개발 >C#.Net 튜토리얼 >C 언어로 재귀 알고리즘을 구현하는 방법

C 언어로 재귀 알고리즘을 구현하는 방법

藏色散人
藏色散人원래의
2019-02-28 14:00:045807검색

재귀는 자신을 호출하는 메서드입니다. 프로그래밍 언어에서는 동일한 함수 내에서 함수를 호출할 수 있는 프로그램을 함수의 재귀 호출이라고 합니다.

C 언어로 재귀 알고리즘을 구현하는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.