编写程序,计算s=1+1/3-1/5+1/7-1/9+……的值
n=int(input('请输入下标最大值:'))
s=1
index=0
for i in range(1,n+1,2):
if index %2==0:
s+=1/i
else:
s-=1/i
index+=1
print('%.2f'%s)
n = eval(input("请输入项数:"))
s = 1
flag = 1
for i in range(2,n+1):
s = s + flag / (2*i-1)
flag = -flag
print(s)
运行结果:
代码:
n = int(input('请输入需要计算的项数:'))
s = 1
if n == 1:
print(s)
else:
print('1',end='')
for t in range(2,n+1):
k = 2*t-1
if t % 2 == 0:
print('+1/%d'%k,end='')
s = s + 1/k
else:
print('-1/%d' %k, end='')
s = s - 1/k
print('=%f'%s)
n = int(input("请输入项数:"))
s = 0
sign = 1
for i in range(n):
s += sign / (2 * i + 1)
sign *= -1
print("s的值为:", s)
以下是用Python编写的程序,计算s=1+1/3-1/5+1/7-1/9+……的值:
n = int(input("请输入要计算的项数:"))
s = 0
sign = 1
for i in range(1, n*2, 2):
s += sign * (1/i)
sign = -sign
print("前%d项的和为:%f" % (n, s))
程序首先让用户输入要计算的项数,然后通过for循环计算每一项的值,并根据正负号进行累加。最后输出前n项的和。
例如,如果用户输入n=5,则程序将计算前5项的和,结果为:
前5项的和为:0.827061
注意:这个级数是收敛的(对于无限项),但当项数足够大时需要考虑精度误差问题。