二分法
算出 最终的值时。若值得平方大于x,则最终值-1;
若值平方小于x,则输出最终值。

public int mysqrt (int x) {
        // write code here

        if (x < 0){
            System.out.println(new Exception("算数错误"));
        }
        if (x == 1 || x == 0){
            return x;
        }

        int l = 1;
        int r = x/2;
        while (l<r){
            int mid = l + (r-l) / 2;

            if (x / mid == mid){
                return mid;
            }else if (x / mid > mid){
                l = mid + 1;
            }else {
                r = mid - 1;
            }
        }
        if(l * l > x){
            System.out.println((l - 1));
            return l - 1;
        }else{
            System.out.println(l);
            return l;
        }