当前位置:首页C++程序设计 > 正文

C++中:输入一个正整数n,求1!+2!+3!+...+n!的值。

作者:野牛程序员:2023-03-30 11:38:34C++程序设计阅读 3329

【问题描述】

输入一个正整数n,求1!+2!+3!+...+n!的值。

【样例输入】

5

【样例输出】

1!+2!+3!+4!+5!=1+2+6+24+120=153

C++语言的代码实现方法一

#include <iostream>
using namespace std;

int main() {
    int n, sum = 0, fac = 1;
    cout << "请输入一个正整数n:";
    cin >> n;
    for (int i = 1; i <= n; i++) {
        fac *= i;
        sum += fac;
    }
    cout << "1!+2!+3!+...+" << n << "!=" << sum << endl;
    return 0;
}
C++语言的代码实现方法二:

#include <iostream>
using namespace std;

int factorial(int n) {
    if (n == 0) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}

int main() {
    int n, sum = 0;
    cout << "请输入一个正整数n:";
    cin >> n;
    for (int i = 1; i <= n; i++) {
        sum += factorial(i);
    }
    cout << "1!+2!+3!+...+" << n << "!=" << sum << endl;
    return 0;
}

在上述代码中,我们定义了一个递归函数factorial,用于计算n的阶乘。在主函数中,我们通过循环依次计算1到n的阶乘并将它们累加起来,最终输出结果。


C++语言的代码实现方法三


#include <iostream>
using namespace std;

int main() {
    int n, sum = 0, fac = 1;
    cout << "请输入一个正整数n:";
    cin >> n;
    for (int i = 1; i <= n; i++) {
        fac = 1;
        for (int j = 1; j <= i; j++) {
            fac *= j;
        }
        sum += fac;
    }
    cout << "1!+2!+3!+...+" << n << "!=" << sum << endl;
    return 0;
}

在上述代码中,我们使用两层循环来计算1到n的阶乘。外层循环控制阶乘的个数,内层循环计算当前阶乘的值。每次计算完一个阶乘后,将它累加到变量sum中,最终输出结果。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击