python经典习题1#题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?
网上能够搜得到的答案为:
for i in range(85):
for j in range(85):
if i%2==0 and j%2==0 or i%2!=0 and j%2!=0:
if i**2-j**2==168:
x=j**2-100
print(x)
输出的结果为:
-99 21 261 1581
但是经过验证,结果不符合题目要求。
经过重新编写,代码如下
1 import math 2 n = 0 3 count = 0 4 while True: 5 number_1 = n + 100 6 number_2 = n + 168 7 number_1_sqrt = int(math.sqrt(number_1)) 8 number_2_sqrt = int(math.sqrt(number_2)) 9 if (number_1_sqrt **2 == number_1) and (number_2_sqrt**2 == number_2): 10 print(n) 11 break 12 n = n + 1
运行结果
156
经过检验,答案符合题意。

浙公网安备 33010602011771号