質問するログイン新規登録

回答編集履歴

1

コードをなおした

2015/05/15 00:51

投稿

IchigoTaruto
IchigoTaruto

スコア159

answer CHANGED
@@ -1,13 +1,16 @@
1
1
  Math.sqrtと全く同じ動きではないですが、簡単に組んでみました。
2
2
  ```lang-<Java>
3
3
  private static double sqrt(double v) {
4
- if(v == Double.NaN || v < 0.0) {
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
- for(int c = 0; c < 100; c++) {
13
+ while(0.0 < a) {
11
14
  double t = r + a;
12
15
 
13
16
  if(t * t <= v) {