← All problems

633. Sum of Square Numbers

MediumOpen on LeetCodeProblem statement

Problem Statement

633. Sum of Square Numbers

Medium


Given a non-negative integer c, decide whether there're two integers a and b such that a2 + b2 = c.

 

Example 1:

Input: c = 5
Output: true
Explanation: 1 * 1 + 2 * 2 = 5

Example 2:

Input: c = 3
Output: false

 

Constraints:

Java

Source file
class Solution {
    public boolean judgeSquareSum(int c) {
        long a = 0, b = (long) Math.sqrt(c), s;
        while (a <= b) {
            s = a * a + b * b;
            if (s == c)
                return true;
            else if (s < c)
                a++;
            else
                b--;
        }
        return false;
    }
}