【发布时间】:2026-02-05 05:50:01
【问题描述】:
我正在尝试编写一种方法来在 Python 中获取给定范围内的所有完美正方形。一个很大的范围,比如 2621163 和 520001400002 之间。现在显然遍历范围并检查一个数字是否像这样完美
def is_square(n):
return math.sqrt(n).is_integer()
然后打印它对于大范围来说是愚蠢的(对于小范围来说效果很好)并且需要永远。我想知道是否有任何 Python 魔法或数学魔法(比如修改后的丢番图方程)可以用于此目的。
编辑:我也在使用 Python 3.X,所以我可以使用大整数。
【问题讨论】:
标签: python-3.x square-root perfect-square