P7-x的平方根-二分查找

2021-05-09  本文已影响0人  YonchanLew
//x的平方根
/*
* 在不使用sqrt(x)的情况下,得到x的平方根的整数部分
* */
public class P7 {

    public static void main(String[] args) {
        System.out.println(binartSearch(26));
    }

    //二分查找
    private static int binartSearch(int x) {
        int index = -1;     //结果记录

        int left = 0;
        int right = x;

        while(left <= right){
            int mid = (left + right) / 2;
            //右移
            if(mid * mid <= x){
                index = mid;    //平方根整数部分必然是小于等于的
                left = mid + 1;
            }else{
                right = mid - 1;
            }
        }

        return index;
    }
    
}
上一篇下一篇

猜你喜欢

热点阅读