用python递归求1+2+……n之和
时间: 2023-10-24 20:05:39 浏览: 79
以下是Python递归求1到n之和的代码:
```python
def sum_n(n):
if n == 0:
return 0
else:
return n + sum_n(n-1)
# 调用函数
print(sum_n(10)) # 输出55,即1+2+3+...+10=55
```
在这个代码中,我们定义了一个名为`sum_n`的函数,它接受一个参数`n`,表示要求的1到n之和。当n等于0时,递归结束,返回0。当n不等于0时,递归调用`sum_n(n-1)`,并将结果与n相加,返回总和。
相关问题
用递归函数实现1+2+3……n的和.
好的,下面是用递归函数实现1+2+3……n的和的代码:
```python
def sum(n):
if n == 1:
return 1
else:
return n + sum(n-1)
```
这个递归函数的思路是:如果n等于1,那么直接返回1,否则返回n加上n-1的和。也就是说,每次函数调用都会将n减1,直到n等于1为止,然后把所有的结果相加起来得到总和。
Python用递归求1+……+100
的和,你能给我一个思路吗?
当然可以。使用递归计算1到100的和,可以将问题分解为1到99的和再加上100。而1到99的和则可以递归计算为1到98的和再加上99,以此类推,直到1到1的和为1为止。下面是Python代码:
def sum(n):
if n == 1:
return 1
else:
return n + sum(n-1)
print(sum(100))