回答編集履歴

3

追記

2019/06/22 15:12

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -38,4 +38,16 @@
38
38
 
39
39
 
40
40
 
41
- 本当の理由については検討中。
41
+ ~~本当の理由については検討中。~~
42
+
43
+
44
+
45
+ LouiS0616さんの回答にある通り、floatの有効桁数の絡みのはずです。
46
+
47
+
48
+
49
+ pythonのfloatは内部的には64bit浮動小数点数型で、10進数としての有効桁数は15桁です。ですから、10^18なんて桁数の数字は正確には表せません。
50
+
51
+
52
+
53
+ 一方整数型は任意精度演算をサポートしますので、問題の扱うレンジの数字を正確に表現でき、演算結果も正確なものが得られるのだと思います。

2

追記

2019/06/22 15:12

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -31,3 +31,11 @@
31
31
 
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ でも問題の制約で負にはならないですね。なので、この理由ではなさそうです。
38
+
39
+
40
+
41
+ 本当の理由については検討中。

1

追記

2019/06/22 15:07

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- とりあえず一つ確実に思いつく違いを挙げておくと、負値のときは違う挙動になるでしょう。
17
+ とりあえず一つ確実に思いつく違いを挙げておくと、演算結果が負値のときは違う挙動になるでしょう。
18
18
 
19
19
 
20
20