public boolean isPerfectSquare(int num)
{
int i = 1, j=num;
while (i <=j)
{
int mid = (i + j)/2;
if (mid == (num * 1.0/mid)) // 防止乘法溢出
return true;
else if (mid > (num * 1.0/mid))
j = mid-1;
else
i = mid + 1;
}
return false;
}