求1! 2! 3! .. 10!用递归函数
时间: 2023-09-02 22:05:35 浏览: 41
可以用递归函数求1! 2! 3! .. 10!,具体实现如下:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
for i in range(1, 11):
print(str(i) + "! = " + str(factorial(i)))
```
输出结果为:
```
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
```
递归函数 `factorial(n)` 的实现是:当 n=1 时,返回 1,否则返回 n * `factorial(n-1)`。在 `for` 循环中,我们调用 `factorial` 函数求解 1! 到 10!。
相关问题
编写程序求1! 2! 3! .. 10!用递归函数
可以使用递归函数来计算1! 2! 3! ... 10!。递归函数是一种函数调用自身的方法,通常用于解决需要重复执行相同操作的问题。
下面是使用递归函数计算1! 2! 3! ... 10!的Python代码:
```python
# 定义递归函数fact,计算n的阶乘
def fact(n):
if n == 1:
return 1
else:
return n * fact(n-1)
# 计算1! 2! 3! ... 10!
for i in range(1, 11):
print('{}! = {}'.format(i, fact(i)))
```
运行结果:
```
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
```
在上面的代码中,我们定义了一个递归函数`fact()`,该函数用于计算n的阶乘。如果n等于1,则返回1;否则,计算n乘以n-1的阶乘。在循环中,我们调用`fact()`函数来计算1! 2! 3! ... 10!的值,并将结果打印出来。
使用递归求1!+2!+3!+....+10!
这道题可以使用递归函数来求解。递归函数是指在函数的定义中使用函数自身的方法。具体来说,我们可以定义一个函数来计算阶乘,然后在主函数中使用循环来计算1!+2!+3!+....+10!,每次循环调用阶乘函数来计算当前数的阶乘,最后将所有阶乘相加即可。
下面是使用递归函数调用阶乘方法求和的代码:
def jie(n):
if n == 1:
return 1
else:
return n*jie(n-1)
sum = 0
for i in range(1, 11):
sum += jie(i)
print(sum)
另外,还可以使用非递归的方法来计算阶乘,具体实现可以参考引用中的Java代码。