1 ''' 2 简述:一个整数,它加上100和加上268后都是一个完全平方数 提问:请问该数是多少? 3 Python解题思路分析: 4 在10000以内判断(通过数学逻辑猜测),将该数加上100后再开方, 5 加上268后再开方,如果开方后的结果满足如下条件,即是结果。 6 7 完全平方数:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。a = b*b 8 完全平方数是非负数,而一个完全平方数的项有两个。 9 ''' 10 import math 11 for i in range(10000): 12 # 关键点就是转换为整型,不用管是否是float,将整数部分取出来直接运算即可 13 a = int(math.sqrt(i + 100)) 14 b = int(math.sqrt(i + 268)) 15 if a*a == i + 100 and b*b == i + 268: 16 print(i)