題目描述
用高精度計算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示階乘,例如:5!=5*4*3*2*1。
輸入輸出格式
輸入格式:
一個正整數N。
輸出格式:
一個正整數S,表示計算結果。
輸入輸出樣例
輸入樣例
3
輸出樣例
9
#include<stdio.h>int fun(int n){ if(n==1||n==0) { return 1; } if(n>1) { return fun(n-1)*n; }}int main(){ int N,i,sum=0; scanf("%d",&N); for(i=1;i<=N;i++) { sum=sum+fun(i); } printf("%d/n",sum); return 0;}
或是
#include<stdio.h>int main(){ int N,i,sum=0,t,h; scanf("%d",&N); for(i=1;i<=N;i++) { t=1; h=i; while(h) { t=t*h; h--; } sum=sum+t; } printf("%d/n",sum); return 0;}
或是
#include<stdio.h>#include<String.h>int main(){ int N,i,sum=0,t=1; int f,p=0; scanf("%d",&N); for(i=1;i<=N;i++) { t=i*t; f=p+t; p=f; } printf("%d/n",f); return 0;}
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。
新聞熱點
疑難解答
圖片精選