本文介绍了Python 3 在划分两个大数时给出错误的输出?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
a = 15511210043330985984000000 # (25!)b = 479001600 #(12!)c = 6227020800 #(13!)
除ans = int(a/(b*c))
或ans = int((a/b)/c)
我们得到ans
等于 5200299
而不是 5200300
解决方案
在 Python 3.x 中 /
表示浮点除法,可能会产生小的舍入误差.使用 //
进行整数除法.
a = 15511210043330985984000000 # (25!)
b = 479001600 # (12!)
c = 6227020800 # (13!)
On dividing ans = int(a/(b*c))
or ans = int((a/b)/c)
we get ans
equal to 5200299
instead of 5200300
解决方案
In Python 3.x /
means floating point division and can give small rounding errors. Use //
for integer division.
ans = a // (b*c)
这篇关于Python 3 在划分两个大数时给出错误的输出?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!