编写程序,求1+2!+3!+……+20!的和。
时间: 2023-10-08 15:13:11 浏览: 82
我们可以使用循环和递归两种方法来实现。
方法一:循环
思路:用一个变量sum来存储求和结果,用一个变量factorial来存储当前正在计算的阶乘数,循环从1到20,每次将当前阶乘数加到sum中,然后将阶乘数加1,继续下一次循环。
Python代码:
sum = 0
factorial = 1
for i in range(1, 21):
factorial *= i
sum += factorial
print(sum)
方法二:递归
思路:定义一个函数factorial(n),用于计算n的阶乘;然后用一个变量sum来存储求和结果,用循环调用factorial函数,每次将返回值加到sum中,直到循环20次为止。
Python代码:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
sum = 0
for i in range(1, 21):
sum += factorial(i)
print(sum)
相关问题
编写程序求1!+2! +3! +……+10!。 输出: 1!+2!+……+10!= 4037913
要求1!+2!+3!+……+10!的和,可以使用循环来实现。首先,需要定义一个变量来保存最终的结果,初始化为0。然后,使用一个循环从1到10,依次计算每个数的阶乘,并将结果累加到结果变量中。最后,输出结果。
以下是一个示例代码:
```java
public class FactorialSum {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += factorial(i);
}
System.out.println("1! + 2! + ... + 10! = " + sum);
}
public static int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
```
运行以上代码,输出结果为:
```
1! + 2! + ... + 10! = 4037913
```
这段代码中,`factorial`方法用于计算一个数的阶乘,`main`方法中使用循环计算1到10的阶乘并累加到`sum`变量中,最后输出结果。
编写程序求1!+2! +3! +……+10!
好的,这个问题可以使用循环来解决。具体的做法是,使用一个循环从1到10遍历每个数字,然后计算每个数字的阶乘,并将它们相加。以下是Python代码实现:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
sum = 0
for i in range(1, 11):
sum += factorial(i)
print(sum)
```
输出结果为:4037913
阅读全文