//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;
}
}
网友评论