题目 一个整数,它加上100后是一个完全平方数
再加上168又是一个完全平方数,请问该数是多少?
因为168对于指数爆炸来说实在太小了,
所以可以直接进行数学分析,
用最朴素的方法来获取完全平方数的上限
n =0
while (n+1)**2 - n**2 <=168:
n = n+1
print("完全平方数的上限为:",n)
题目分析:
x+100=a2
x+100+168=b2
b2-a2=168
(b-a)(b+a)=168
a,b同时为偶数或奇数
上限为a,b<84
所以
print("这个数为:")
for a in range(84):
for b in range(84):
if a%2==0 and b%2==0 or a%2!=0 and b%2!=0:
if b**2 - a**2 == 168:
x = a**2 -100
print(x,end=",")