题目描述
用高精度计算出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