這道題是求從3-21,差為3的8個數階乘的和,編寫一個求階乘之和的函數sum(),使用for循環進行階乘的計算,最終和太大,因此使用卜升科學計數方式表示輸出。

程序代碼:

#include

float sum(int n)

{int i,j;

float t,s=0;

for(i=3;i<=n;i=i+3)

{t=1;

for(j=1;j<=i;j++)

t=t*j;

s=s+t;}

return(s);

}

main()

{printf("this sum=%e\n",sum(21));}

運行結果:

擴展資料:

階乘的計算方法:

一個正整數的階乘(旦仔factorial)是所有小于及等于該模弊汪數的正整數的積,并且0的階乘為1。自然數n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。

亦即n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。