为了账号安全,请及时绑定邮箱和手机立即绑定

s = (x1 + x100) / 2 * n为什么输出结果不对啊,求解答!!!

x1 = 1

d = 3

n = 100

x100 = x1 + (n - 1) * d

s =  (x1 + x100) / 2 * n

print s

这样跑出来输出是14900,正确答案是s =  (x1 + x100)  * n / 2  ,跑出来是14950 ,这两个有什么区别呀,为什么不对呢~~求解答啊啊啊啊啊

正在回答

8 回答

精度的问题,整数相除,商也为整数,小数部分舍去了。所以结果不对

1 回复 有任何疑惑可以回复我~

x1 = 1

d = 3

n = 100

x100 = x1+(n-1)*d

x101 = x100+d

s = (n+1)*(x1+x101)/2-x101

print s

1 4 7 10 13 16   偶数项相加除以2会是小数的

0 回复 有任何疑惑可以回复我~

x1 = 1= 3= 100x100 = 3*- 2= (x1 + 3*- 2* / 2s2 = (x1 + 3*-2* //2print (s)print (s2)

0 回复 有任何疑惑可以回复我~
x1 = 1
d = 3
n = 100
x100 = 3*n - 2
s = (x1 + 3*n - 2) * n / 2
s2 = (x1 + 3*n -2) * n //2
print (s)
print (s2)

0 回复 有任何疑惑可以回复我~
#1

慕设计817298

复制错了 应该是 x100 = x1 + (n - 1) * d s = (x1 + x100) / 2 * n 改成 x100 = x1 + (n - 1) * d s = (x1 + x100) // 2 * n 吧
2018-11-11 回复 有任何疑惑可以回复我~

x1 = 1

d = 3

n = 100

x100 = 3*n - 2

s = (x1 + 3*n - 2) * n / 2

print s


0 回复 有任何疑惑可以回复我~

s =  (x1 + x100) / 2 * n公式错误。应该先乘n得出的结果在除以2

0 回复 有任何疑惑可以回复我~

那如果再实际代码运算中,我岂不是要把所有的有 /的都放在最后???

0 回复 有任何疑惑可以回复我~

s =  (x1 + x100) / 2 * n,这一步,(x1+x100)/2不是精确的哦,小数点后被舍弃掉,你真要这么做,可以把2改成浮点数2.0,只不过最后的结果也是浮点数14950.0了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

s = (x1 + x100) / 2 * n为什么输出结果不对啊,求解答!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信