时间:2021-05-03 10:03:12 | 栏目:C代码 | 点击:次
题目描述
用高精度计算出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; }
总结