问题:一个自然数减去45及加上44都仍是完全平方数,求此数?
完全平方数的定义:设x为完全平方数,则sqrt(x)为一个正整数(只考虑正数)
关键思路:用是否为整数来确定答案(int函数)
from math import sqrt
for i in range(46, 10000) # 因为该自然数减去45,所以必须大于45
x = int(sqrt(i + 44))
y = int(sqrt(i - 45))
if (x ** 2 == i + 44) and (y ** 2 == i -45):
print(i)