求∑n! 1!+2!+ ……+n!
时间: 2023-12-01 14:43:02 浏览: 74
以下是C语言实现求1!+2!+3!+……+20!的累加和的代码:
```c
#include <stdio.h>
long fac(int n) {
long f = 1;
int i;
if (n < 0) {
printf("n < 0, data error!\n");
} else if (n == 0 || n == 1) {
f = 1;
} else {
f = fac(n - 1) * n;
}
return f;
}
int main() {
int i;
long sum = 0;
for (i = 1; i <= 20; i++) {
sum = sum + fac(i);
}
printf("1!+2!+3!+……+20!=%ld", sum);
return 0;
}
```
输出结果为:1!+2!+3!+……+20!=2561327494111820313
--相关问题--:
1. 如何在C语言中计算阶乘?
2. 如何在C语言中使用递归实现阶乘计算?
3. 如何在C语言中
相关问题
编程实现,求∑n的值。(即求1!+2!+3!+……+20!) 提示:先计算n!,再在计算阶乘的外面套上一层循环。注意:20!是一个很大的值。
可以使用Python语言来实现这个计算过程。由于20!的值非常大,我们可以使用Python中的math库来计算阶乘,同时使用一个变量来累加每个阶乘的结果。
代码如下:
```python
import math
# 初始化累加器
sum = 0
# 循环计算1到20的阶乘,并将结果累加到sum中
for i in range(1, 21):
factorial = math.factorial(i)
sum += factorial
# 输出结果
print("1! + 2! + 3! + ... + 20! = ", sum)
```
输出结果为:
```
1! + 2! + 3! + ... + 20! = 2561327494111820313
```
Linux虚拟机下∑n=1+2+3+……+100 的值
根据等差数列求和公式,∑n=1+2+3+……+100 = (1+100)*100/2 = 5050。在Linux虚拟机下,可以使用Python来计算这个值,具体代码如下所示:
```python
n = 100
sum = 0
for i in range(1, n+1):
sum += i
print("∑n=1+2+3+……+100 = ", sum) # 输出:∑n=1+2+3+……+100 = 5050
```