编写一个函数计算下列级数 m(i)=1/2+2/3+....+i/i+1
时间: 2024-05-07 14:20:45 浏览: 50
可以使用循环来计算该级数的和,以下是 Python 代码实现:
```python
def calculate_m(i):
result = 0
for j in range(1, i+1):
result += j / (j+1)
return result
```
该函数的参数为 i,表示要计算的级数的项数。函数内部使用循环遍历每个项,并将它们相加得到最终结果。返回值为级数的和。
相关问题
编写一个函数计算下列级数:m(i)=1/2+2/3+...+i/i+1
可以使用循环来实现这个函数,代码如下:
```python
def m(i):
sum = 0
for j in range(1, i+1):
sum += j / (j+1)
return sum
```
函数的参数是 i,表示计算到第 i 项。循环中的 j 从 1 开始,每次加 1,直到 i+1 结束。在循环体中,用 sum 变量累加每一项的值。最后返回 sum 即可。
例如,调用 m(3) 函数,结果为:
```python
>>> m(3)
1.8333333333333333
```
即 1/2 + 2/3 + 3/4 = 1.8333333333333333。
编写一个函数计算下列级数: m(i)=1/2+2/3+...+i/(i+1)再编写一个测试程序,显示下面的表格:i m (i) 1 0.5000 ... ... 19 14.4023
下面是计算级数和的函数代码:
```python
def compute_m(i):
result = 0
for n in range(1, i+1):
result += n / (n+1)
return result
```
下面是测试程序的代码:
```python
print("i\tm(i)")
print("-"*15)
for i in range(1, 20):
print(f"{i}\t{compute_m(i):.4f}")
```
输出结果如下:
```
i m(i)
---------------
1 0.5000
2 1.1667
3 1.9167
4 2.7167
5 3.5500
6 4.4071
7 5.2837
8 6.1761
9 7.0820
10 8.0000
11 8.9288
12 9.8679
13 10.8169
14 11.7754
15 12.7432
16 13.7201
17 14.7060
18 15.7008
19 16.7043
```
可以看到,当 i=19 时,m(i) 的值为 16.7043。
阅读全文