用 c++判断一个数是否为完全平方数
时间: 2024-09-09 09:15:43 浏览: 73
完全平方数
判断一个数是否为完全平方数可以使用二分法,我们可以从1到num/2进行二分查找,找到一个数mid,然后计算mid*mid是否等于num,如果等于,说明num是完全平方数,返回true;如果mid*mid大于num,则在左半部分查找;如果mid*mid小于num,则在右半部分查找。如果最后没有找到完全平方数,则说明num不是完全平方数,返回false。下面是C++代码实现:
```
bool isPerfectSquare(int num) {
int left = 1, right = num / 2;
while (left <= right) {
long long mid = (left + right) / 2;
if (mid * mid == num) {
return true;
} else if (mid * mid < num) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return false;
}
```
阅读全文