分割两个大数字时,python 3.1.2给出了错误的输出?

Yas*_*wal 3 python python-3.x

a = 25! = 15511210043330985984000000
b = 12! = 479001600
c = 13! = 6227020800
Run Code Online (Sandbox Code Playgroud)

分割ans =(int)(a /(b*c))或ans =(int)((a/b)/ c)

我们得到ans = 5200299而不是5200300

Mar*_*ers 11

在Python 3.x中/意味着浮点除法,并且可以给出小的舍入误差.使用//整数除法.

ans = a // (b*c)


Ign*_*ams 5

尝试使用整数除法而不是浮点除法.

>>> 15511210043330985984000000 / (479001600 * 6227020800)
5200299.999999999
>>> 15511210043330985984000000 // (479001600 * 6227020800)
5200300
Run Code Online (Sandbox Code Playgroud)