21xrx.com
2025-03-26 12:33:44 Wednesday
文章检索 我的文章 写文章
C++编程:求1!+2!+3!+…+20!
2023-07-05 07:27:56 深夜i     50     0
C++ 编程 阶乘 累加 循环

阶乘是数学上的一个概念,表示一个正整数的所有小于等于它的正整数的积。比如,5的阶乘为5×4×3×2×1=120。在C++语言中,我们可以使用循环来计算n的阶乘,具体代码如下:

int factorial(int n) {
  int result = 1;
  for (int i = 1; i <= n; i++) {
    result *= i;
  }
  return result;
}

接下来,我们就可以使用上面的代码,来求1!+2!+3!+…+20!了。具体实现方式如下:

#include <iostream>
using namespace std;
int factorial(int n) {
  int result = 1;
  for (int i = 1; i <= n; i++) {
    result *= i;
  }
  return result;
}
int main() {
  int sum = 0;
  for (int i = 1; i <= 20; i++) {
    sum += factorial(i);
  }
  cout << "1!+2!+3!+...+20! = " << sum << endl;
  return 0;
}

代码解释:

1. 首先我们定义了一个函数factorial,用来计算一个正整数n的阶乘。

2. 在主函数中,我们定义了变量sum,初始化为0。

3. 然后使用for循环,从1到20遍历每一个数字i,将i的阶乘加到sum中。

4. 最后输出sum的值。

运行结果:

1!+2!+3!+...+20! = 2561327494111820313

这个求和结果非常大,可以使用long long类型的变量来存储。另外,如果要计算更大的阶乘,可以使用高精度运算库。C++中比较常用的库有GMP和Boost。

  
  

评论区

请求出错了