21xrx.com
2024-09-20 00:42:18 Friday
登录
文章检索 我的文章 写文章
C++编程:求1!+2!+3!+…+20!
2023-07-05 07:27:56 深夜i     --     --
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。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复