测试都能成功,但是答案算出来不对,是为啥
题目
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
输出样例:
0.917
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
我的答案
特点:
1、索引从1开始的话,奇数位置为正数,偶数位置为负数
2、分子:正常的自然序列,1、2、3...n
3、分母:2 * 分子 - 1
代码如下:
n = input('请输入计算到第几项:')
num_list = []
for i in range(1, int(n) + 1):
num = i / (2 * i - 1)
if i % 2 != 0 :
num_list.append(num)
else:
num_list.append(-num)
print(sum(num_list))
有帮助的话,请点采纳该答案~
2*i+1要用括号括起来呀,否则先算乘除后算加减,能对才怪