C語言 遞迴求n的階乘

2021-10-11 22:48:29 字數 1190 閱讀 3803

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

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

求階乘函式:

int

factorial

(int number)

//自定義階乘函式

else

if(number==

0||number==1)

//0或者1本身的階乘是1

else

return temp;

//將temp返回到函式呼叫處

}

源**演示:

#include

//標頭檔案

intmain()

//主函式

intfactorial

(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語言 | 遞迴求n!

C語言 遞迴求n的階乘

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

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...