python一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

如题所述

#一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
'''
假设该数为 x。
1、则:x + 100 = n2, x + 100 + 168 = m2
2、计算等式:m2 - n2 = (m + n)(m - n) = 168
3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数
4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
5、从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。
6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。
7、接下来将 i 的所有数字循环计算即可。
'''
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
x = n * n - 100
print(x)

i=0
while True:
a=(i+100)**0.5
b=(i+268)**0.5

if (a-int(a))==0 and (b-int(b))==0:
print(a,b)
print('这个数是',i)

i+=1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-03
此题求出来应该有四组答案。
此题应该是平方差公式应用,两个完全平方数的差是168。
x²-y²=168
(x+y)(x-y)=168
然后对168进行分解质因数
168=2*2*2*3*7
因为x,y都是自然数,所以x+y与x-y的奇偶性相同,而x+y与x-y的积168是偶数,所以x+y与x-y都不是偶数,按此进行拆分,有4组,(2,84),(4,42),(6,28),(12,14),这样得到的x、y也就有4组:
(43,41),(23,19),(17,11),(13,1)
第2个回答  2019-07-03
设这个整数为x,x+100=m的平方,x+100+168=n的平方
n的平方-m的平方=168
(n+m)(n-m)=168
168=1×168=2×84=3×56=4×42=6×28=8×21=12×14
n+m和n-m的奇偶性是相同的,不可能一个奇数一个偶数
所以n+m=84,n-m=2或者n+m=42,n-m=4或者n+m=28,n-m=6或者n+m=14,n-m=12
第3个回答  2019-07-03

从-100开始找到10000为止

第4个回答  2019-07-03
该数是21
21+100=11×11
21+100+168=289=17×17
相似回答