这个问题来自我的素因子分解函数。 当我尝试用整数划分长整数时。它给出了一个值 科学计数法。这不是完全正确的答案。
18291821821212182811 / 3 = 6.097273940404061e+18
这里,
6.097273940404061e+18
与此相同,6097273940404061000
6097273940404061000 * 3
必须等于18291821821212182811
但是有189个整数差异。
6097273940404061000 * 3
比18291821821212182811
6097273940404061000 * 3 - 18291821821212182811
= 189
那为什么这不给出确切的数字? 我认为python将表单更改为带有浮点的科学记数法,这会导致算术错误。 有没有办法解决 ?有什么方法我可以告诉python不要 如果出现问题,请在计算过程中将其更改为浮点数。
答案 0 :(得分:1)
您必须使用整数除法//
:
18291821821212182811 // 3 = 6097273940404060937