题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1。 输入输出格式 输入格式: 一个正整数N。 输出格式: 一个正整数S,表示计算结果。 输入
题目描述
用高精度计算出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; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对自由互联的支持。