S.K.Y


私信TA

用户名:uq_21395539528

访问量:374

签 名:

等  级
排  名 14997
经  验 807
参赛次数 0
文章发表 7
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:  递归

注意事项: 由题可知,n<=20,当n越接近20,其数量及越庞大,求阶乘与求阶乘和时应使用long long int 类型。

参考代码:

#include <stdio.h>

long long int fun(int n){   // 使用递归求每个数的阶乘
    if(n<=1)
        return 1;
    else
        return n*fun(n-1);
}

//    long long int sum(int n){           // 使用递归求阶乘之和
//        if(n==1)
//            return fun(1);
//        else
//            return fun(n)+sum(n-1);
//    }

int main() {
    int n;
    long long int Sn=0;
    scanf("%d",&n);
    for (int i = 1; i <= n; ++i) {      // 使用循环求阶乘之和
        Sn=Sn+fun(i);
    }
    printf("%lld",Sn);
//    printf("%lld",sum(n));
    return 0;
}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区