1!+2!+……+n!(n=20)
时间: 2024-01-16 09:04:49 浏览: 37
以下是两种解决1!+2!+……+n!(n=20)的方法:
1.使用Python语言求解
```python
import math
n = 20
sum = 0
for i in range(1, n+1):
sum += math.factorial(i)
print(sum) # 输出:2561327494111820313
```
2.使用Java语言求解
```java
public class Main {
public static void main(String[] args) {
int n = 20;
long sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
System.out.println(sum); // 输出:2561327494111820313
}
public static long factorial(int n) {
long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
```
相关问题
y=1!+2!+3!+……n!
这是一个数学问题,其中n!表示n的阶乘,即n! = n * (n-1) * (n-2) * ... * 2 * 1。因此,y=1!+2!+3!+……n!表示从1到n的所有整数的阶乘之和。例如,当n=3时,y=1!+2!+3!=1+2+6=9。这个问题可以使用循环或递归来解决。以下是一个使用循环的示例代码:
```
int n = 5; // 假设n=5
int y = 0;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i; // 计算i的阶乘
y += factorial; // 将i的阶乘加入y中
}
// 现在y的值为1!+2!+3!+4!+5!=1+2+6+24+120=153
```
1!+2!+3!+4!+……+n! n=20
以下是Python计算1!+2!+3!+4!+……+n!的方法:
```python
def factorial_sum(n):
result = 0
factorial = 1
for i in range(1, n+1):
factorial *= i
result += factorial
return result
n = 20
print(factorial_sum(n)) # 输出:2561327494111820313
```
以下是C语言编写函数fun求1!+2!+3!+ …… +n!的和的方法:
```c
#include <stdio.h>
long fun(int n)
{
long sum = 0, factorial = 1;
for (int i = 1; i <= n; i++)
{
factorial *= i;
sum += factorial;
}
return sum;
}
int main()
{
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("%d的阶乘和为%ld\n", n, fun(n));
return 0;
}
```