题目描述
用高精度计算出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;}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对武林网的支持。
新闻热点
疑难解答
图片精选