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

一个整数,它加上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


# 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)

img