首先理解题目:一个数加100后得到的数字再加168后均构成一个完全平方数,列数学方程为:设整数为a, a + 100 = n², a + 100 + 168 = m²,由该数学关系去编写代码。
'''一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?'''
'''
设整数为a
a + 100 = n²
a + 100 + 168 = m²
m² - n²= 168 = (m + n)(m - n) = 168
令: m + n = i, m - n = j
i * j = 168(i, j至少有一个是偶数)
m = (i + j) / 2
n = (i - j) / 2
得到: i, j都是偶数或奇数
n² = ((i - j) / 2)²
a = ((i - j) / 2)² - 100
'''
for i in range(1,85):
if 168 % i == 0:
j = 168 /i
if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0:
m = (i + j) / 2
n = (i - j) / 2
a = n * n - 100
print(a)