题目描述
用高精度计算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:5!=5*4*3*2*1。
输入输出格式
输入格式:
一个正整数N。
输出格式:
一个正整数S,表示计算结果。
输入输出样例
输入样例
3
输出样例
9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#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; } |
或是
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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; } |
或是
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#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; } |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。
原文链接:https://blog.csdn.net/xiaoli130134/article/details/80287121