當前位置:編程學習大全網 - 編程軟體 - 如何編程實現n!

如何編程實現n!

編程實現計算n!,也就是n*(n-1)*(n-2)*....*1,可以通過遞歸函數來實現,具體實現方法:

#include <stdio.h>

int Func(int n)

{

if(n < 2)

return 1;

else

return n*Func(n-1);

}

void main()

{

int n =0,m=0;

printf("請輸入壹個正整數:")

scanf("%d",&n);?

m=Func(n);

printf("%d!=%d\n",n,m);

}

在以上程序代碼中,Func()為遞歸函數,主函數main()中接收鍵盤輸入整數值後,調用Func()遞歸函數,首層m=n*(n-1)!,繼續遞歸調用,m=n*(n-1)(n-2)!,這樣逐層遞歸,直到計算出N!。

程序輸出結果如下:

擴展資料:

所謂n的階乘就是從1到n的乘積,所以除了遞歸法來實現以外,其實我們也可以通過壹個for循環,從1到n依次求積同樣可以達到計算n!的目地。

具體實現代碼如下:

#include <stdio.h>

int main() {

int n,i,s=1;

scanf("%d",&n);

for(i=1;i<=n;i++)//for循環求累積

s=s*i;

printf("%d\n",s);

return 0;

}

/*

運行結果:(例如求5的階乘)

5

120

*/

  • 上一篇:誰能給我madness combat(瘋狂格鬥)(暴力迪吧)的全集
  • 下一篇:各位高手,我有壹些後綴名是JC的視頻文件,但需要用專用播放器下載,現在我想把它轉換成其他格式的
  • copyright 2024編程學習大全網