求x的平方根,精确到6位小数

阅读 51

2022-02-24

用二分法来一波.....使用double进行赋值

public static void main(String[] args) {
    System.out.println(mySqrt(8));
}
public static double  mySqrt(int num) {

    double left = 0;
    double right = num;
    while (left < right) {
        double middle = (left + right) / 2.0;
        if (Math.abs(middle * middle - num) <= 0.000001) {
            return middle;
        }
        if (middle * middle < num ) {
            left = middle;
            right = num / middle;
        } else if (middle * middle > num ) {
            right = middle;
            left = num / middle;
        }
    }
    return left;
}

精彩评论(0)

0 0 举报