编写一个函数计算下列级数:m(i)=1/2+2/3+...+i/i+1
时间: 2023-11-08 13:06:10 浏览: 117
可以使用循环来实现这个函数,代码如下:
```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
可以使用循环来计算该级数:
```python
def calculate_m(i):
sum = 0
for j in range(1, i+1):
sum += j/(j+1)
return sum
```
其中,`sum` 变量用于存储级数的和,`range(1, i+1)` 表示从1到i的整数序列,循环中的语句 `sum += j/(j+1)` 表示将每一项加入到总和中。最后返回总和即可。
编写一个函数计算下列级数: 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。
阅读全文