彩笔凡 发表于 2023-11-7 16:27:01

求助

编程求 1!+2!+3!+……+20! 的值。

Mike_python小 发表于 2023-11-7 16:27:29

计算 1!+2!+3!+……+20! 的值是:


#include <iostream>
using namespace std;

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

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!+2!+3!+……+20! 的值。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

isdkz 发表于 2023-11-7 16:28:26

这个问题可以通过编写一个循环来解决。我们可以使用一个变量来追踪每个阶乘的累加和。下面是一个示例代码:

def factorial(n):
    result = 1
    for i in range(1, n+1):
      result *= i
    return result

total_sum = 0
for i in range(1, 21):
    total_sum += factorial(i)

print(total_sum)


在这个代码中,我们定义了一个函数 factorial 来计算给定数字的阶乘。然后,我们使用一个循环来遍历从1到20的数字,并将每个阶乘的结果累加到 total_sum 变量中。最后,我们打印出 total_sum 的值,即1!+2!+3!+……+20!的结果。

希望这个答案能够帮到你!如果你有任何其他问题,请随时提问。

wuluwa 发表于 2023-11-7 20:15:45

#include <stdio.h>

int main() {
    int i, j;
    long long sum = 0;
    long long fact = 1;

    for (i = 1; i <= 20; i++) {
      fact = 1;
      for (j = 1; j <= i; j++) {
            fact *= j;
      }
      sum += fact;
    }

    printf("1! + 2! + 3! + ... + 20! = %lld\n", sum);

    return 0;
}
运行这段代码将会得到输出结果:

1! + 2! + 3! + ... + 20! = 2561327494111820313
页: [1]
查看完整版本: 求助