给你一个正整数 num 。如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。 不能使用任何内置的库函数,如 sqrt 。
时间: 2023-05-31 13:07:56 浏览: 149
python判断完全平方数的方法
好的,你的问题是判断一个正整数是否为完全平方数。下面给出代码实现:
```python
def isPerfectSquare(num):
if num < 2:
return True
left, right = 2, num // 2
while left <= right:
mid = (left + right) // 2
guess = mid * mid
if guess == num:
return True
elif guess > num:
right = mid - 1
else:
left = mid + 1
return False
```
以上算法的时间复杂度为 $O(\log n)$,其中 $n$ 是输入的正整数。如果你还有其他问题,欢迎继续提问!
阅读全文