求1+2!+3!+…+n!的和。 输入 正整数n(n=10)+ 出 1+2!+3!+…+n!的和(结果为整数形式)
时间: 2023-11-17 14:00:25 浏览: 20
使用递归函数调用阶乘方法求和,代码如下:
```python
def jie(n):
if n == 1:
return 1
else:
return n*jie(n-1)
n = int(input())
sum = 0
if n < 1 or n > 40:
print("请重新输入数据")
else:
for i in range(1, n+1):
sum += jie(i)
print(sum)
```
相关问题
求1+2!+3!+…+N!的和。n可输入
要求1+2!+3!+...+N!的和,其中N是可输入的。
首先,我们需要计算每个数字的阶乘。可以使用循环来实现这个计算过程。然后,将每个阶乘的结果累加起来,即可得到最终的和。
以下是一个示例代码:
```java
import java.util.Scanner;
public class FactorialSum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数N:");
int N = scanner.nextInt();
int sum = 0;
int factorial = 1;
for (int i = 1; i <= N; i++) {
factorial *= i; // 计算阶乘
sum += factorial; // 累加阶乘结果
}
System.out.println("1+2!+3!+...+N!的和为:" + sum);
}
}
```
在上面的代码中,我们使用了一个循环来计算每个数字的阶乘,并将结果累加到变量`sum`中。最后,输出`sum`的值即可得到结果。
请注意,上述代码假设输入的N是一个正整数。如果需要对输入进行验证,可以添加相应的逻辑来确保输入的合法性。
c语言求s=1!+2!+3!+...n!
以下是C语言求s=1!+2!+3!+...n!的代码:
```c
#include <stdio.h>
int main()
{
int n, i, j;
long long fact = 1, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fact = 1;
for (j = 1; j <= i; j++)
{
fact *= j;
}
sum += fact;
}
printf("1!+2!+3!+...+%d! = %lld\n", n, sum);
return 0;
}
```
运行结果:
```
请输入一个正整数:5
1!+2!+3!+...+5! = 153
```
阅读全文