阶乘求和

原创
2019/12/19 21:21
阅读数 107
点击上方蓝字,记得关注我们!


无一分可增不叫完美,无一分可减才是。--Antoine de Saint-Exupery

阶乘求和


1.题目描述

Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)

2.格式与样例

输入格式

n


输出格式

Sn的值


输入样例

5


输出样例

153

3.参考答案1
 1#include<stdio.h>
2long int fac(unsigned int n)  //定义为long int 型,避免溢出
3
{
4    long int f;
5    if(n==0return 1;        //当n=0是,递归法到尽头,依次返回函数值。
6    f=fac(n-1)*n;
7    return (f);               //返回最后一次函数值,即单次阶乘的最后结果
8}
9
10int main()
11
{
12    unsigned int n;
13    long int s=0;
14    int i;
15    scanf("%d",&n);
16    for(i=1;i<=n;i++)  s+=fac(i);    //以循环控制阶乘的和。fac函数每一次的返回值作为s的自加值
17    printf("%ld",s);
18    return 0;
19}


3.参考答案2
 1#include<stdio.h>
2int main()
3
{
4long double sum=0,sn=1;
5int n;
6scanf("%d",&n);
7for(int i=1;i<=n;i++)
8{
9  sn=sn*i;
10  sum=sum+sn;
11}
12printf("%.0Lf",sum);
13return 0;
14}


END

“If you torture the data enough, it will confess”

                                           - - Ronald Coase


“阅读原文”我们一起进步



本文分享自微信公众号 - 电子荣耀(gh_05453579ed9d)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部