class Solution {
public:
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    int sqrt(int x) {
        if(x==1||x==0)
        {
            return x;
        }
        int l=0,r=x,k,a;
        while (l<=r) {
            k=(l+r)/2;
            a=x/k;
            if(a==k) {
                return k;
            }
            else if (a>k) {
                l=k+1;
            }
            else if(a<k) {
                r=k-1;
            }
        }
        return r;
    }
};