求1!+2!+3!+……+12!的值
时间: 2024-01-13 14:05:44 浏览: 95
以下是求1!+2!+3!+……+12!的值的Python代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
result = 0
for i in range(1, 13):
result += factorial(i)
print("1!+2!+3!+...+12!的值为:", result)
```
运行结果为:
```
1!+2!+3!+...+12!的值为: 479001599
```
相关问题
求2!+4!+6!+ …… +2n!的和
2! = 2
4! = 2 * 3 * 4 = 24
6! = 2 * 3 * 4 * 5 * 6 = 720
可以发现,2n!中,所有的偶数都被2整除,因此可以将式子拆开:
2! + 4! + 6! + …… + 2n! = 2(1 + 2 * 3 + 2 * 3 * 4 + …… + 2 * 3 * … * n)
可以通过递推公式求得括号内的值:
f(1) = 1
f(n) = f(n-1) * (n+1)
则:
f(1) = 1
f(2) = f(1) * 3 = 3
f(3) = f(2) * 4 = 12
f(4) = f(3) * 5 = 60
因此:
2! + 4! + 6! + …… + 2n! = 2 * f(n)
即:2! + 4! + 6! + …… + 2n! = 2 * n! * (n+1)
例如,当n=3时,2! + 4! + 6! = 2 * 3! * 4 = 48。
求1!+2!+3!+……+n!,n<12,要求用一重循环设计程序。
以下是使用一重循环设计程序求1!+2!+3!+……+n!的代码:
```
#include <stdio.h>
int main()
{
int n, i, sum = 0, fac = 1;
printf("请输入n的值(n<12):");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fac *= i;
sum += fac;
}
printf("1!+2!+3!+...+%d! = %d\n", n, sum);
return 0;
}
```
程序中使用了一个循环来计算1!+2!+3!+……+n!的值。在循环中,变量fac用来存储当前的阶乘值,变量sum用来存储所有阶乘值的和。每次循环中,fac乘以当前的i值,然后加到sum中。最后输出sum的值即可。
阅读全文