给一个整数 c, 你需要判断是否存在两个整数 a 和 b 使得 a^2 + b^2 = c.
c
a
b
a^2 + b^2 = c
样例 1:
输入 : n = 5 输出 : true 说明 : 1 * 1 + 2 * 2 = 5
样例 2:
输入 : n = -5 输出 : false
class Solution: ''' 大致思路: 1.只要围绕着,是否这两个动态的数平方和是否求平方和就可以,初始化count,一个是a(固定一定为平方和,从1开始一直递增平方),另一个是num-a,判断是否是平方根,如果一直到 count大于num的平方根取整,仍没有找到,则返回False,否则True。其余情况,比如num本身就可以求平方,另一个自然就是0,也返回true。 ''' def checkSumOfSquareNumbers(self,num): if num < 0: return False def issqrt(n): return int(math.sqrt(n))**2 == n l = 0 count = 1 j = int(math.sqrt(num)) while issqrt(num-l) != True: l = count**2 count += 1 #一直到count大于num的平方根的时候,还不存在则跳出循环 if count > j: print(l) return False return True