编写一个递归函数,计算下面的级数:m(i)=1/3+2/5+3/7+...+i

编写一个递归函数,计算下面的级数:m(i)=1/3+2/5+3/7+...+i

def m(i):
    if i == 1: return 1/3
    return m(i - 1) + i / (2 * i + 1)

先看结果,代码在下方:

img

python
def m(i): 
    if i == 1: return 1/3
    return m(i - 1) + i / (2 * i + 1)

def main():
    n = int(input('请输入n: '))
    print(m(n))

if __name__ == '__main__':
    main()

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:

以下是使用 Python 编写的递归函数,用于计算级数 m(i) 的值:

def m(i):
    if i == 1:
        return 1/3
    else:
        return m(i-1) + i/(2*i+1)

# 测试函数,计算 m(5) 的值
print(m(5))

在上面的代码中,递归函数 m(i) 的参数是级数的项数 i,如果 i 等于 1,则返回第一项的值 1/3,否则递归调用 m(i-1) 计算前 i-1 项的和,并加上第 i 项的值 i/(2i+1)。

在最后一行代码中,我们调用函数 m(5) 计算级数 m(5) 的值,并将结果打印出来。如果需要计算其他项数的级数,可以将参数 i 替换为实际的项数。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢