给定一个正整数,判断是否存在两个整数a和吧,他们的平方数之和等于c¶
给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a^2 + b^2 = c。
示例1:
输入: 5
输出: True
解释: 1 * 1 + 2 * 2 = 5
示例2:
输入: 3
输出: False
暴力求解, 通过遍历组合计算是否相等,如果相等则存在,否则不存在,解答如下:
import unittest
import math
class Solution:
def judgeSquareSum(self, c):
"""
:type c: int
:rtype: bool
"""
d = int(math.sqrt(c)+1)
for i in range(d):
for j in range(d):
#print("i=", i, " j=", j)
if(i*i+j*j==c):
return True
return False
class TestjudgeSquareSumFunc(unittest.TestCase):
"""Test revert"""
def test_judgeSquareSum(self):
"""Test method checkRecord()"""
s =Solution()
self.assertEqual(True, s.judgeSquareSum(5))
self.assertEqual(False, s.judgeSquareSum(3))
if __name__ == '__main__':
unittest.main()