n的階乘,就是從1開始乘到n,即1*2*3*...*(n-1)*n。
專注于為中小企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)東烏珠穆沁免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
即n!=1*2*3*...*(n-1)*n。
而(n-1)!=1*2*3*...*(n-1)。
所以可以得出,n!=(n-1)!
*
n。
由這個概念,可以得出遞歸求階乘函數(shù)fact的算法:
1
如果傳入?yún)?shù)為0或1,返回1;
2
對于任意的n,返回n*fact(n-1)。
代碼如下:
int fact(int n)
{
if(n == 0 || n == 1) return 1;
return n*(fact(n-1));
}
1、首先在電腦中打開C語言軟件,定義一個函數(shù),并傳入一個參數(shù)。
2、然后定義一個result變量,如下圖所示。
3、接著當傳入的參數(shù)為1的時候,值為1,如下圖所示。
4、而傳入的參數(shù)不是1的時候,使用遞歸函數(shù)來計算階乘,jiecheng(n-1)*n,如下圖所示。
5、返回結果result,在主函數(shù)里面調(diào)用這個階乘函數(shù)。
6、最后編譯運行這個函數(shù),如下圖所示就完成了。
1、打開VC6.0軟件,新建一個C語言的項目:
2、接下來編寫主程序,首先定義用來求階乘的遞歸函數(shù)以及主函數(shù)。在main函數(shù)里定義變量sum求和,調(diào)用遞歸函數(shù)fact(),并將返回值賦予sum,最后使用printf打印sum的結果,主程序就編寫完了:
3、最后運行程序,觀察輸出的結果。以上就是C語言使用遞歸求階乘的寫法: