题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
方法一:
import math
# 打印出在10000范围内符合条件的值
for i in range(10000):
m = int(math.sqrt(i + 100))
n = int(math.sqrt(i + 100 + 168))
if(m * m == i + 100 and n * n == i + 100 + 168)
print(i)
方法二:
import math
# 判断该数值是否符合: x + 100 = m ** 2
def dataM(m):
# 求得m的平方
m = m ** 2
# 获得该数值
value = m - 100
return value
# 判断该数值是否符合:x + 100 + 186 = n ** 2
def dataN(n):
# 获得n的平方
n = n + 100 + 168
# 对n开方
value = math.sqrt(n)
# 判断n开方后是否为整数
if(value == int(value)):
return True
return False
def func():
# 确定m的值范围
for s in range(1, 85):
# 得到x的值
x = dataM(s)
# 判断n是否为整数
if(dataN(x)):
print(x)
if __name__ == "__main__":
func()