>>> -1/3 -0.3333333333333333 >>> -1//3 -1 >>> 1//3 0
- スラッシュ1つだと小数点になることがある。これは基本
- スラッシュ2つだと整数の割り算で答えも整数になるが、-1//3が-1になっており、これはC++だと0が返ってくる。挙動の違いに注意
除算値を超えない最大の整数
- と実装されているようだ http://taustation.com/python3-integer-division-and-modula/
- なので、0.333は0になり、-0.333は-1になる
実際に問題を解きたい人は
- Division of Big Integers
- http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=NTL_2_D&lang=ja
- 大きな整数なのでPython使いたくなるけれど、浮動小数点を経由すると誤差が出るし、単純に//で割ると上記問題が出るので対処が必要