harry0401 发表于 2022-11-3 15:14:00

课后作业第九节,等比数列问题

题目:

首先看到题目时,第一反应是等比数列求和

看到甲鱼的代码里是利用通项公式求出每一格子的麦子数,然后在相加等到结果。这个我已经写出来了

然后我试着直接利用等比数列求和算出结果,省略掉每一格子的麦子数这个步骤



发现有误差,然后试着用decimal



还是有误差,最后



这次结果对了,但是我总觉得用//有问题(我也不知道问题在哪)。

我想知道如果用真除法/,怎么样能得出正确结果,或者说可不可以得出正确结果!

谢谢!!!

tommyyu 发表于 2022-11-3 15:24:01

int( (Decimal(1)-Decimal(pow(2, 64)))/Decimal(1-2) )

harry0401 发表于 2022-11-3 15:29:06

tommyyu 发表于 2022-11-3 15:24


万分感谢,明白什么意思了

jackz007 发表于 2022-11-3 15:36:39

d = 0
for i in range(64) : d += 2 ** i
print(d)
      运行实况:
D:\\Python>python x.py
18446744073709551615

D:\\Python>
页: [1]
查看完整版本: 课后作业第九节,等比数列问题