我想寫一個方法到在Python中獲取給定範圍內的所有完美正方形。大範圍的像2621163和520001400002.之間現在很明顯,通過迭代範圍和檢查,如果一個號碼是完美的,像這樣Python - 在給定的大數範圍內找到所有完美正方形的最快方法
def is_square(n):
return math.sqrt(n).is_integer()
,然後打印是愚蠢的大範圍(小範圍的偉大工程),並會採取永遠。我想知道是否有任何可用於此目的的Python魔術或數學(例如修改的丟番圖方程)。
編輯:另外我使用Python 3.X,所以我可以使用大整數。