x = eval(input())
n = 1
sn = 0
while sn<x:
an = 1/(2*n-1)
sn += an
n += 1
#当前的sn是大于x才会退出循环,因此小于x的最大sn是s(n-1)项
n = n-1
#现在的n对标s(n-1)项是n+1项
#因此n = n -2
sn = sn-1/(2*n-1)
n = n-1
print("y={},n={}".format(sn,n))
“”"
本关任务:已知y=1/(2*n-1)的前n项和
,编写程序,实现如下功能:
①从键盘输入一个数x,当y<x时的最大n值。
②与①的n值对应的y值。
测试输入:3
预期输出:
y=2.994437501289942,n=56
“”"