用Python编写一个递归函数计算1+1/2+1/3+.....+1/i
时间: 2023-09-17 18:15:00 浏览: 86
可以使用下面的代码实现:
```python
def sum_recursive(i):
if i == 1:
return 1
else:
return 1/i + sum_recursive(i-1)
i = 5
result = sum_recursive(i)
print("1 + 1/2 + 1/3 + ... + 1/{} = {}".format(i, result))
```
这个函数接受一个参数 i,表示求和的最后一项是 1/i。如果 i 等于 1,则直接返回 1。否则,返回 1/i 加上递归调用 sum_recursive(i-1) 的结果。最终结果就是所有项的和。
在这个例子中,我们计算了 1 + 1/2 + 1/3 + 1/4 + 1/5 的值,结果为 2.283333333333333。
相关问题
编写一个递归函数,计算1+1/2+1/3+……+1/n
以下是 Python 代码实现:
```python
def sum_recursion(n):
if n == 1:
return 1
else:
return 1/n + sum_recursion(n-1)
n = 5
print(sum_recursion(n)) # 输出:2.283333333333333
```
这个递归函数的思路是:先判断输入的参数n是否等于1,如果是,则返回1;如果不是,则递归调用sum_recursion(n-1),并将结果加上1/n返回。
例如,当n=5时,函数先计算1/5,然后递归调用sum_recursion(4),计算1/4,以此类推,直到n=1时,返回1。最后将所有结果相加,即得到1+1/2+1/3+1/4+1/5=2.283333333333333。
用python编写递归函数,计算下列级数: m(i)=1+1/2+1/3+...+1/i
好的,我可以帮你编写这个递归函数,代码如下:
```python
def m(i):
if i == 1:
return 1
else:
return m(i-1) + 1/i
```
这个函数的思路是,如果输入的i为1,那么返回1;否则,递归计算m(i-1),并加上1/i。这个函数可以计算出m(i)的值。你可以调用这个函数,输入任意正整数i,就可以得到1+1/2+1/3+...+1/i的值。