python长整数除法错误。我该如何解决?

时间:2015-06-13 15:07:55

标签: python math runtime-error

这个问题来自我的素因子分解函数。 当我尝试用整数划分长整数时。它给出了一个值 科学计数法。这不是完全正确的答案。

18291821821212182811 / 3 = 6.097273940404061e+18

这里,

6.097273940404061e+18与此相同,6097273940404061000

6097273940404061000 * 3必须等于18291821821212182811

但是有189个整数差异。

6097273940404061000 * 318291821821212182811

大189

6097273940404061000 * 3 - 18291821821212182811 = 189

那为什么这不给出确切的数字? 我认为python将表单更改为带有浮点的科学记数法,这会导致算术错误。 有没有办法解决 ?有什么方法我可以告诉python不要 如果出现问题,请在计算过程中将其更改为浮点数。

1 个答案:

答案 0 :(得分:1)

您必须使用整数除法//

18291821821212182811 // 3 = 6097273940404060937