我正在尝试编写一种方法来获取 Python 中给定范围内的所有完美正方形。一个大范围,如 2621163 和 520001400002 之间。现在显然迭代该范围并检查一个数字是否像这样完美
def is_square(n):
return math.sqrt(n).is_integer()
然后打印它对于大范围来说是愚蠢的(对于小范围来说效果很好)并且需要永远。我想知道是否有任何 Python 魔法或数学(比如修改后的丢番图方程)可以用于此目的。
编辑:我也在使用 Python 3.X,所以我可以使用大整数。