c語言遞歸演算法怎麼實現

藏色散人
發布: 2019-02-28 14:00:04
原創
5759 人瀏覽過

遞迴就是一個方法自己呼叫自己。在程式語言中,如果一個程式允許您在同一個函數中呼叫一個函數,那麼它就被稱為函數的遞歸呼叫。

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
登入後複製

斐波那契系列

以下範例使用遞迴函數為給定數字產生斐波那契(Fibonacci)系列 

#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教學

本篇文章就是關於c語言遞迴演算法的介紹,希望對需要的朋友有所幫助!

以上是c語言遞歸演算法怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板