回答編集履歴
2
文言修正
answer
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
10進数の0.8や0.2は2進数では無限循環小数となり正確に表現できないためです。
|
2
|
-
乗算結果がintの範囲を超えないのであれば、式を変形して先に乗算をすれば
|
2
|
+
乗算結果がintの範囲を超えないのであれば、式を変形して先に乗算をすればよいです。
|
3
|
-
今回の場合は`n`が`100`なので誤差なく求まります。
|
4
3
|
```diff
|
5
4
|
-ans = n * (1 - (double)m / 100);
|
6
5
|
+ans = n - n * m / 100;
|
1
コード追記
answer
CHANGED
@@ -1,1 +1,7 @@
|
|
1
|
-
10進数の0.8や0.2は2進数では無限循環小数となり正確に表現できないためです。
|
1
|
+
10進数の0.8や0.2は2進数では無限循環小数となり正確に表現できないためです。
|
2
|
+
乗算結果がintの範囲を超えないのであれば、式を変形して先に乗算をすれば誤差が少なくなります。
|
3
|
+
今回の場合は`n`が`100`なので誤差なく求まります。
|
4
|
+
```diff
|
5
|
+
-ans = n * (1 - (double)m / 100);
|
6
|
+
+ans = n - n * m / 100;
|
7
|
+
```
|