0

Pythonで大きな整数を使用して計算を行っていますが、奇妙な結果が得られています。

>>> 94970389L * 94958913L / 775920493L
11622692L
>>> 94970389L * 94958913L
9018284906627157L
>>> 775920493L * 11622692L
9018284906627156L

4行目と6行目に違いがあるのはなぜですか?それは等しくなければなりません。

LinuxPC32ビットでPythonバージョン2.7.3を使用しています

4

1 に答える 1

5

除算の残りは1です。

>>> 94970389L * 94958913L % 775920493L
1L

Python 2.xでの2つの整数の除算は、デフォルトでは整数の除算であり、余りは破棄されることに注意してください。

于 2012-06-03T04:44:27.740 に答える