回答編集履歴

3

識別子名の間違いを訂正

2020/02/07 09:58

投稿

SaitoAtsushi
SaitoAtsushi

スコア5686

test CHANGED
@@ -20,4 +20,4 @@
20
20
 
21
21
 
22
22
 
23
- `std::cout` に対して `std::fix` と `std::setprecision` で精度を指定してみてください。
23
+ `std::cout` に対して `std::fixed` と `std::setprecision` で精度を指定してみてください。

2

タイプミスを修正

2020/02/07 09:58

投稿

SaitoAtsushi
SaitoAtsushi

スコア5686

test CHANGED
@@ -20,4 +20,4 @@
20
20
 
21
21
 
22
22
 
23
- `std::cout` に対して `std::fix` と `std::std::setprecision` で精度を指定してみてください。
23
+ `std::cout` に対して `std::fix` と `std::setprecision` で精度を指定してみてください。

1

精度についての説明を追加

2020/02/07 08:10

投稿

SaitoAtsushi
SaitoAtsushi

スコア5686

test CHANGED
@@ -5,3 +5,19 @@
5
5
  - 文字列リテラルは `“` ではなく `"` で囲むべきです。
6
6
 
7
7
  - 変数 `a` と `b` が `int` であるとき `a/b` もまた `int` です。 その上で `double` に型変換しています。
8
+
9
+
10
+
11
+ # 追記
12
+
13
+
14
+
15
+ これらを修正しても問題があるそうなので、おそらく精度の問題だと思われます。
16
+
17
+
18
+
19
+ わざわざ 10 の -5 乗以下の絶対誤差と示されているので普通にやったらそれ以上の誤差が出るような入力が与えられるのでしょう。
20
+
21
+
22
+
23
+ `std::cout` に対して `std::fix` と `std::std::setprecision` で精度を指定してみてください。