private static int core(int n){     int small=0,big=n/2+1,mid=0;     while(small<big){         mid = small+(big-small)/2;         if(mid*mid>n)  big = mid-1;         else if(mid*mid<n)  small=mid+1;         else   return mid;     }     int s=0,e=0;     if(mid*mid>n){         s = mid-1;e = mid;     }else{         s = mid;e = mid+1;     }     double m = (s+e)/2.0;     if(m*m<n) return e;     else return s; }
点赞 1
牛客网
牛客企业服务