在进行除法运算后应用floor division和int(),输出结果可能不同。请问可以解释一下原因或者给出具体的案例吗?
问题: int(a // b)不等于int(a / b)
情况: a和b是整数,0 < a,b <= 1e18
环境: Python 3.4.3
注意: 由于测试案例是由在线评测系统生成的且不对外公开,我无法列出具体案例。
希望您能提供帮助,谢谢。
在进行除法运算后应用floor division和int(),输出结果可能不同。请问可以解释一下原因或者给出具体的案例吗?
问题: int(a // b)不等于int(a / b)
情况: a和b是整数,0 < a,b <= 1e18
环境: Python 3.4.3
注意: 由于测试案例是由在线评测系统生成的且不对外公开,我无法列出具体案例。
希望您能提供帮助,谢谢。
具体例子(Python 3.4.4 shell):
>>> int(99999999999999999/100000000000000000)
1
>>> 99999999999999999//100000000000000000
0
a
和b
是整数,那么a//b
就是一个整数,因此a//b == int(a//b)
。 - Michael Butscher