例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返回到函式呼叫處
}
編譯執行結果如下:
輸入要求階乘的數:55!=120
--------------------------------process exited after
1.553 seconds with return value 0
請按任意鍵繼續. . .
上述**我定義的是int型別,因為這個數不可能無限大,如果特別大,會超過int的範圍,如下:
輸入要求階乘的數:100100!=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...