python 2.7でプログラムを書こうとしていますが、数値が他のものを均等に分割するかどうかと、分割の結果が得られるかどうかが分かります。大きな数字を分けて間違いを作っています
しかし、大きな数字を使用すると、興味深い結果が得られます。
現在、私が使用しています:私はこれを実行すると
from __future__ import division
import math
a=82348972389472433334783
b=2
if a/b==math.trunc(a/b):
answer=a/b
print 'True' #to quickly see if the if loop was invoked
を私が取得:
True
しかし82348972389472433334783は明らかにさえません。
ご協力いただければ幸いです。
「a」の係数を2で割った値をチェックすることはありませんか?あなたの 'if 'を'%2: 'に変更することをお勧めします。 'a'が偶数の場合は' 0'、 'a'が奇数なら' 1'を返します。あなたが効果的だと思うのは、 'a/b'が' a/b'と等しいかどうかを比較することです(整数を分割するので、 'trunc'は効果がありません)。 – BorrajaX
除算の結果は浮動小数点です数。あなたは単に "[浮動小数点数学は壊れていますか?](http://stackoverflow.com/questions/588004/is-floating-point-math-broken)" –
@ user2357112を求めるだけです。除算の結果は* floatです。 '__future__輸入部門から '。 – jme