python用函数递归的方式求1+2+...+20
时间: 2023-11-17 19:05:42 浏览: 40
可以使用如下代码实现:
```python
def print_num(n):
if n <= 20:
print(n)
print_num(n+1)
print_num(1)
```
这里定义了一个名为`print_num`的函数,它的参数是`n`,表示当前需要打印的数字。函数首先判断`n`是否小于等于20,如果是,则输出`n`,然后递归调用自身并将`n+1`作为参数传递进去。这样就可以依次输出从1到20的所有数字。
相关问题
自定义递归函数,求1+2+3+.....+n
好的,我可以为您写一个递归函数来求解1+2+3+...+n。代码如下:
```python
def sum_recursive(n):
if n == 1:
return 1
else:
return n + sum_recursive(n-1)
```
这个函数接受一个正整数n作为参数,如果n为1,则直接返回1,否则返回n加上n-1到1的所有整数的和。可以通过递归调用这个函数来实现。
例如,如果您想求解1+2+3+...+10的和,可以这样调用函数:
```python
print(sum_recursive(10))
```
这将输出55,即1+2+3+...+10的和。
python利用函数递归完成1!+2!+...+10!求解
可以利用函数递归来完成1!+2!+...+10!的求解。具体实现方法如下:
```
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
sum = 0
for i in range(1, 11):
sum += factorial(i)
print(sum)
```
首先定义一个递归函数factorial(n),用于计算n的阶乘。然后在主函数中,利用for循环遍历1到10,分别计算每个数的阶乘并累加到sum中。最后输出sum即可得到结果。