回答編集履歴
3
切り上げに Math.ceil を使用
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
for (int i = 0; i <= n; i++)
|
26
26
|
|
27
|
-
sum +=
|
27
|
+
sum += (int)Math.ceil(Math.sqrt(r*r - i*i));
|
28
28
|
|
29
29
|
System.out.println(sum * 4);
|
30
30
|
|
2
コード修正に伴う説明の削除
test
CHANGED
@@ -38,10 +38,6 @@
|
|
38
38
|
|
39
39
|
```
|
40
40
|
|
41
|
-
sqrt で結果が整数になることはほぼ無いと考え、切り上げを常に +1 で行いました。
|
42
|
-
|
43
|
-
|
44
|
-
|
45
41
|
実行例
|
46
42
|
|
47
43
|
```text
|
1
コードを修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
for (int i = 0; i <= n; i++)
|
26
26
|
|
27
|
-
sum += (int)Math.sqrt(r*r - i*i)
|
27
|
+
sum += -(int)-Math.sqrt(r*r - i*i);
|
28
28
|
|
29
29
|
System.out.println(sum * 4);
|
30
30
|
|
@@ -57,3 +57,9 @@
|
|
57
57
|
r: .
|
58
58
|
|
59
59
|
```
|
60
|
+
|
61
|
+
**追記**
|
62
|
+
|
63
|
+
r = 1.0 の場合、結果が 4 になって欲しいのにそうならないのは、
|
64
|
+
|
65
|
+
切り上げをちゃんとしなかったからということで、コードを修正しました。
|