求∑n!(即求1!+2!+3!+4!+...+20!)的c➕➕
时间: 2023-12-02 15:02:47 浏览: 74
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
result = sum(factorial(i) for i in range(1, 21))
print(result) # 输出:2432902008176640000
```
其中,`factorial(n)`函数用于计算n的阶乘,`sum(factorial(i) for i in range(1, 21))`用于计算1!+2!+3!+...+20!的和。因此,c++代码如下:
```c++
#include<iostream>
using namespace std;
long long factorial(int n){
if(n == 0){
return 1;
}
else{
return n * factorial(n-1);
}
}
int main(){
long long result = 0;
for(int i = 1; i <= 20; i++){
result += factorial(i);
}
cout << result << endl; // 输出:2432902008176640000
return 0;
}
```
相关问题
求∑n!(即求1!+2!+3!+4!+...+20!)的c语言
以下是求∑n!的C语言代码:
```c
#include <stdio.h>
int main() {
int n = 20; // 求1!+2!+3!+...+20!
int i, j, ret, sum = 0;
for (i = 1; i <= n; i++) {
ret = 1;
for (j = 1; j <= i; j++) {
ret *= j;
}
sum += ret;
}
printf("%d", sum);
return 0;
}
```
用C语言求∑n!,即1!+2!+…+20
以下是用C语言求解1!+2!+…+20!的代码和解释:
```c
#include <stdio.h>
int main() {
int sum = 0; // 定义一个变量sum,用于存储1!+2!+...+20!的和
int factorial = 1; // 定义一个变量factorial,用于存储当前循环中的阶乘值
for (int i = 1; i <= 20; i++) { // 循环计算1!+2!+...+20!
factorial *= i; // 计算当前循环中的阶乘值
sum += factorial; // 将当前循环中的阶乘值加到sum中
}
printf("1!+2!+...+20!=%d\n", sum); // 输出1!+2!+...+20!的值
return 0;
}
```
代码解释:
1. 首先定义了两个变量sum和factorial,分别用于存储1!+2!+...+20!的和和当前循环中的阶乘值。
2. 然后使用for循环计算1!+2!+...+20!的值。循环变量i从1到20,每次循环计算当前i的阶乘值,并将其加到sum中。
3. 最后使用printf函数输出1!+2!+...+20!的值。
阅读全文