回答編集履歴
3
追記
answer
CHANGED
@@ -18,4 +18,10 @@
|
|
18
18
|
|
19
19
|
でも問題の制約で負にはならないですね。なので、この理由ではなさそうです。
|
20
20
|
|
21
|
-
本当の理由については検討中。
|
21
|
+
~~本当の理由については検討中。~~
|
22
|
+
|
23
|
+
LouiS0616さんの回答にある通り、floatの有効桁数の絡みのはずです。
|
24
|
+
|
25
|
+
pythonのfloatは内部的には64bit浮動小数点数型で、10進数としての有効桁数は15桁です。ですから、10^18なんて桁数の数字は正確には表せません。
|
26
|
+
|
27
|
+
一方整数型は任意精度演算をサポートしますので、問題の扱うレンジの数字を正確に表現でき、演算結果も正確なものが得られるのだと思います。
|
2
追記
answer
CHANGED
@@ -14,4 +14,8 @@
|
|
14
14
|
>>> -10//3
|
15
15
|
-4
|
16
16
|
|
17
|
-
```
|
17
|
+
```
|
18
|
+
|
19
|
+
でも問題の制約で負にはならないですね。なので、この理由ではなさそうです。
|
20
|
+
|
21
|
+
本当の理由については検討中。
|
1
追記
answer
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
> / (除算: division) および // (切り捨て除算: floor division) は、引数同士の商を与えます。数値引数はまず共通の型に変換されます。整数の除算結果は浮動小数点になりますが、整数の切り捨て除算結果は整数になります; この場合、結果は数学的な除算に 'floor' 関数 を適用したものになります。
|
7
7
|
> https://docs.python.org/ja/3/reference/expressions.html#binary-arithmetic-operations
|
8
8
|
|
9
|
-
とりあえず一つ確実に思いつく違いを挙げておくと、負値のときは違う挙動になるでしょう。
|
9
|
+
とりあえず一つ確実に思いつく違いを挙げておくと、演算結果が負値のときは違う挙動になるでしょう。
|
10
10
|
|
11
11
|
```python
|
12
12
|
>>> int(-10/3)
|