回答編集履歴
1
コードをなおした
answer
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
Math.sqrtと全く同じ動きではないですが、簡単に組んでみました。
|
|
2
2
|
```lang-<Java>
|
|
3
3
|
private static double sqrt(double v) {
|
|
4
|
-
if(
|
|
4
|
+
if(Double.isNaN(v) || v < 0.0) {
|
|
5
5
|
return Double.NaN;
|
|
6
6
|
}
|
|
7
|
+
if(v == 0.0) {
|
|
8
|
+
return 0.0;
|
|
9
|
+
}
|
|
7
10
|
double a = 1.0 < v ? v : 1.0;
|
|
8
11
|
double r = 0.0;
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
while(0.0 < a) {
|
|
11
14
|
double t = r + a;
|
|
12
15
|
|
|
13
16
|
if(t * t <= v) {
|