用py编写一个递归函数,计算下面的级数:m(i)=1+1/2+1/3+1/4+……+1/i主函数中输出前5项
时间: 2023-09-20 09:10:21 浏览: 60
以下是计算级数的递归函数:
```python
def m(i):
if i == 1:
return 1
else:
return m(i-1) + 1/i
```
以下是主函数中输出前5项的代码:
```python
for i in range(1, 6):
print("m({}) = {:.4f}".format(i, m(i)))
```
输出结果:
```
m(1) = 1.0000
m(2) = 1.5000
m(3) = 1.8333
m(4) = 2.0833
m(5) = 2.2833
```
相关问题
编写一个递归函数,计算下面的级数: m(i)=1+1/2+1/3+1/4+……+1/i
好的,下面是一个递归函数实现:
```python
def sum_series(i):
if i == 1:
return 1
else:
return 1/i + sum_series(i-1)
```
这个函数的思路是,当 `i` 等于 1 时,返回 1;否则,返回当前项 1/i 加上前面所有项的和 `sum_series(i-1)`。这样不断递归下去,直到递归到 i=1 为止,就能得到整个级数的和。
你可以调用这个函数来计算一个特定的 `i` 对应的级数和,例如:
```python
print(sum_series(5)) # 计算 1+1/2+1/3+1/4+1/5 的和
```
输出结果为:
```
1.7166666666666666
```
编写一个递归函数,计算下面的级数:i/2i+1
好的,下面是 Python 代码实现:
```python
def sum_series(i):
if i == 0:
return 0
else:
return i / (2 * i + 1) + sum_series(i - 1)
```
这个函数的参数 `i` 表示计算到第几项。当 `i` 等于 0 时,函数返回 0;否则函数返回当前项的值加上前面项的和。通过递归调用函数,就可以得到整个级数的和。