补充知识:如果一个正整数 a 是某一个整数 b 的平方,那么这个正整数 a 叫做完全平方数(a = b *b)
思路一:假设这个数字为x
条件1:x+100是一个完全平方数(int(math.sqrt(i+100)))**2 == i+100
条件2:x+100+168也是一个完全平方数(int(math.sqrt(i+268)))**2 == i+268
import math
for i in range(10000):
x=int(math.sqrt(100+i))
y=int(math.sqrt(168+i))
if (x*x==(100+i))and (y*y==(i+168)):
print(i,end=' ')
输出:
156
思路二:逆向思维
(1)x+100开平方后的数字是:a
(2)x+168开平方后后的数字是:b
(3),
for i in range(0,10000):
for j in range(0,10000):
if i**2 - j**2 == 68:
print("数字是:{} ;i = {} ;j = {}".format(j**2 - 100,i,j))
输出:
数字是:156 ;i = 18 ;j = 16