一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
可以使用一个函数判断一个数是否是完全平方数,然后用一个while循环从1开始往后逐个往后判断两种情况下是否都是完全平方数,如果两种情况都是完全平方数则停止循环,此时计算出的数即为所求的结果。
代码如下:
参考链接:
# https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0/8025061?fr=aladdin?%ra=card
# http://www.huobaoweishang.com/zhishi/203847.html
# 判断一个数是否是完全平方数,如果是则返回1,否则返回0
def perfectSquare(num):
# https://www.jb51.net/article/234163.htm
for i in range(1,num+1):
if i*i==num:
#print(i,"*",i,"=",num)
return 1
return 0
num=1 #从1开始往后计算
# 如果一个数+100 不是完全平方数,或者+168不是一个完全平方数,则循环查找
# 直到两种情况下都是完全平方数才停止循环,此时num的值即为所求的结果
while perfectSquare(num+100)!=1 or perfectSquare(num+168)!=1:
num=num+1
# 打印结果
print(num)