在Python中,判断一个数是否为完全平方数可以通过计算其平方根然后取整,再平方看是否等于原数。以下是一个简单的函数实现:
import math
def is_perfect_square(num):
if num < 0:
return False
root = int(math.sqrt(num))
return root * root == num
这个函数接受一个整数`num`作为输入,如果`num`是完全平方数,则返回`True`,否则返回`False`。
如果你需要找到组成给定正整数`n`的完全平方数的个数,可以使用以下方法:
def num_squares(n):
if n < 0:
return None
count = 0
i = 1
while i * i <= n:
while n % i == 0:
n = n // i
count += 1
i += 1
return count if n == 1 else 0
这个函数计算组成`n`的完全平方数的个数。如果`n`是完全平方数,则返回个数;否则返回0。