题目

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。


 


示例 1:


输入:c = 5

输出:true

解释:1 * 1 + 2 * 2 = 5

示例 2:


输入:c = 3

输出:false

代码实现

class Solution {
    public boolean judgeSquareSum(int c) {
        for (long a = 0; a * a <= c; a++) {
            double b = Math.sqrt(c - a * a);
            if (b == (int) b) {
                return true;
            }
        }
        return false;
    }
}