求平方根

 1 package algorithm;
 2 
 3 public class Qiugen {
 4 
 5     public static void main(String[] args) {
 6         System.out.println(Qiugen.qiugen(51, 0.0000000001));
 7     }
 8 
 9     public static double qiugen(int a, double prec) 
10     {
11          double mid =(a)>>>1;
12             double left = 0.0, right = 1.0;
13             while (Math.abs((mid*mid - (double)a)) >prec)
14             {
15                 if ((mid*mid - a) > prec)
16                 {
17                     right= mid;
18                     mid=(left+right)/2;
19                 }
20                 else
21                 {
22                     left = mid;
23                     mid=(right+left)/2;
24                 }
25             }
26             return mid;
27     }
28 }

思考扩展成 立方根 4方根,5方根 ......

即将二分法改为分段的多个区间。

原文地址:https://www.cnblogs.com/wfq9330/p/9570029.html