C++中:输入一个正整数n,求1!+2!+3!+...+n!的值。
作者:野牛程序员:2023-03-30 11:38:34C++程序设计阅读 4023
【问题描述】
输入一个正整数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

