6-4 使用函数判断完全平方数 (10 分)
时间: 2023-04-14 12:01:41 浏览: 215
要判断一个数是否为完全平方数,可以使用一个函数。函数的输入是一个整数,输出是一个布尔值,表示该数是否为完全平方数。
函数的实现可以使用二分查找的方法。首先,将输入的整数除以2,得到一个上界。然后,从1到上界之间进行二分查找,找到一个数的平方等于输入的整数,就说明输入的整数是完全平方数。如果找不到这样的数,就说明输入的整数不是完全平方数。
下面是一个示例代码:
def isPerfectSquare(num: int) -> bool:
if num < :
return False
if num == :
return True
left, right = 1, num // 2
while left <= right:
mid = (left + right) // 2
if mid * mid == num:
return True
elif mid * mid < num:
left = mid + 1
else:
right = mid - 1
return False
这个函数的时间复杂度是O(log n),其中n是输入的整数。
相关问题
pintia5-6-4 使用函数判断完全平方数
可以使用以下函数来判断一个数是否为完全平方数:
```python
def isPerfectSquare(num):
sqrt_num = int(num ** 0.5)
return sqrt_num * sqrt_num == num
```
其中,`num ** 0.5` 表示 `num` 的平方根,取整后赋值给 `sqrt_num`,然后判断 `sqrt_num` 的平方是否等于 `num`,如果是,则返回 `True`,否则返回 `False`。
完整代码如下:
```python
def isPerfectSquare(num):
sqrt_num = int(num ** 0.5)
return sqrt_num * sqrt_num == num
n = int(input())
for i in range(n):
x = int(input())
if isPerfectSquare(x):
print("YES")
else:
print("NO")
```
6-2 使用函数判断完全平方数 (10 分)
完全平方数是指一个数可以表示成某个整数的平方的形式,例如 4、9、16 等。判断一个数是否为完全平方数,可以使用函数来实现。
具体实现方法如下:
1. 定义一个函数,接收一个整数作为参数。
2. 在函数中,使用平方根函数 sqrt() 计算该数的平方根。
3. 判断平方根是否为整数,如果是,则该数为完全平方数,返回 True;否则,返回 False。
代码示例:
```python
import math
def isPerfectSquare(num):
sqrt_num = math.sqrt(num)
if int(sqrt_num) ** 2 == num:
return True
else:
return False
```
使用该函数判断一个数是否为完全平方数,只需要调用 isPerfectSquare() 函数,并传入该数作为参数即可。
例如,判断 16 是否为完全平方数:
```python
print(isPerfectSquare(16)) # 输出 True
```
判断 15 是否为完全平方数:
```python
print(isPerfectSquare(15)) # 输出 False
```
阅读全文