求阶乘之和

作者: pigeon__ | 来源:发表于2019-12-19 11:16 被阅读0次

    1.题目描述
    求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。

    2.格式与样例
    输入格式

    n

    输出格式

    Sn的值

    输入样例

    5

    输出样例

    153

    3.参考答案

    #include<stdio.h>
    long int fac(unsigned int n)  //定义为long int 型,避免溢出
    {
        long int f;
        if(n==0) return 1;        //当n=0是,递归法到尽头,依次返回函数值。
        f=fac(n-1)*n;
        return (f);               //返回最后一次函数值,即单次阶乘的最后结果
    }
     
    int main()
    {
        unsigned int n;
        long int s=0;
        int i;
        scanf("%d",&n);
        for(i=1;i<=n;i++)  s+=fac(i);    //以循环控制阶乘的和。fac函数每一次的返回值作为s的自加值
        printf("%ld",s);
        return 0;
    }
    

    相关文章

      网友评论

        本文标题:求阶乘之和

        本文链接:https://www.haomeiwen.com/subject/wxrmnctx.html