C語言 遞迴求n的階乘

2022-08-03 04:39:09 字數 1069 閱讀 7623

例30:c語言求n!,要求用遞迴實現。

解題思路:本題和例29思想差不多,都是用遞迴來實現,讀者可以回顧一下《c語言 | 遞迴求年齡》

求階乘函式:

int factorial(int number)//

自定義階乘函式

else

if(number==0||number==1)//

0或者1本身的階乘是1

else

return temp;//

將temp返回到函式呼叫處

}

源**演示:

#include//

標頭檔案int main()//

主函式int factorial(int number)//

自定義階乘函式

else

if(number==0||number==1)//

0或者1本身的階乘是1

else

return temp;//

將temp返回到函式呼叫處

}

編譯執行結果如下:

輸入要求階乘的數:5

5!=120

--------------------------------process exited after

1.553 seconds with return value 0

請按任意鍵繼續. . .

上述**我定義的是int型別,因為這個數不可能無限大,如果特別大,會超過int的範圍,如下:

輸入要求階乘的數:100

100!=0

--------------------------------process exited after

1.575 seconds with return value 0

請按任意鍵繼續. . .

留個問題給讀者請思考,最大可以求幾的階乘,為什麼?

c語言學習路線

c語言開發工具

c語言 | 遞迴求n!

C語言 遞迴求n的階乘

例30 c語言求n!要求用遞迴實現。解題思路 本題和例29思想差不多,都是用遞迴來實現,讀者可以回顧一下 c語言遞迴求年齡 求階乘函式 int factorial int number 自定義階乘函式 else if number 0 number 1 0或者1本身的階乘是1 else return...

C語言求n的階乘(n!)

c語言求n的階乘 n!joprant7 從鍵盤輸入乙個數,求出這個數的階乘,即 n 演算法思想 首先要清楚階乘定義,所謂 n 的階乘,就是從 1 開始乘以比前乙個數大 1 的數,一直乘到 n,用公式表示就是 1 2 3 4 n 2 n 1 n n 具體的操作 利用迴圈解決問題,設迴圈變數為 i,初值...

C語言求n的階乘(n )

從鍵盤輸入乙個數,求出這個數的階乘,即 n 首先要清楚階乘定義,所謂 n 的階乘,就是從 1 開始乘以比前乙個數大 1 的數,一直乘到 n,用公式表示就是 1 2 3 4 n 2 n 1 n n 具體的操作 利用迴圈解決問題,設迴圈變數為 i,初值為 1,i 從 1 變化到 n 依次讓 i 與 su...