溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言遞歸算法如何實現

發布時間:2020-09-22 14:22:05 來源:億速云 閱讀:376 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關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語言遞歸算法如何實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女