w3resource

JavaScript: Sum of two square numbers equal to an integer

JavaScript Math: Exercise-110 with Solution

Write a JavaScript program to check whether the sum of two square integers is equal to another given integer.

For example a2 + b2 = c where c is the given integer.
Example: 13 = 22 + 32

Test Data:
(2) -> true
(5) -> true
(13) -> true
(15) -> false

Sample Solution:

Solution-1

JavaScript Code:

/**
 * Function to check if a given integer can be represented as the sum of two squares.
 * @param {number} n - The integer to check.
 * @returns {boolean} - True if the integer can be represented as the sum of two squares, otherwise false.
 */
function test(n) {
   // If n is less than or equal to 1, it cannot be represented as the sum of two squares
   if (n <= 1) return false;
   // Calculate the maximum value of the first square (integer part of square root of n - 1)
    max_val = Math.floor(Math.sqrt(n - 1));
    // Iterate from max_val down to 0
    while (max_val >= 0) {
       // Calculate the square root of (n - max_val^2)
       temp = Math.sqrt(n - max_val * max_val);
        // If temp is an integer (no remainder when divided by 1), return true
        if (!(temp % 1)) {
            return true;
        };
        // Decrement max_val for the next iteration
        max_val -= 1;
    };
    // If no valid combination is found, return false
    return false;
}

// Test cases
n = 2;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));
n = 5;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));
n = 13;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));
n = 15;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));

Output:

n = 2
Check sum of two square integers is equal to said integer: true
n = 5
Check sum of two square integers is equal to said integer: true
n = 13
Check sum of two square integers is equal to said integer: true
n = 15
Check sum of two square integers is equal to said integer: false

Flowchart:

JavaScript: Sum of two square numbers equal to an integer.

Live Demo:

See the Pen javascript-math-exercise-110 by w3resource (@w3resource) on CodePen.


Solution-2

JavaScript Code:

/**
 * Function to check if a given integer can be represented as the sum of two square integers.
 * @param {number} n - The integer to check.
 * @returns {boolean} - True if the integer can be represented as the sum of two square integers, otherwise false.
 */
function test(n) {
    // If n is less than or equal to 1, it cannot be represented as the sum of two square integers
    if (n <= 1) return false;
    // Iterate over i and j from 0 to the square root of n
    for(var i = 0; i * i <= n; i++){
        for(var j = 0; j * j <= n; j++) {
            // Calculate the squares of i and j
            var a = i * i;
            var b = j * j;
            // If the sum of squares is equal to n, return true
            if (a + b == n)
                return true;
        }
    }    
    // If no valid combination is found, return false
    return false;
}

// Test cases
n = 2;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));
n = 5;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));
n = 13;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));
n = 15;
console.log("n = " + n);
console.log("Check if the sum of two square integers is equal to the said integer: " + test(n));

Output:

n = 2
Check sum of two square integers is equal to said integer: true
n = 5
Check sum of two square integers is equal to said integer: true
n = 13
Check sum of two square integers is equal to said integer: true
n = 15
Check sum of two square integers is equal to said integer: false

Flowchart:

JavaScript: Sum of two square numbers equal to an integer.

Live Demo:

See the Pen javascript-math-exercise-110-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus.

Previous: Count all numbers with unique digits in a range.
Next: Kth smallest number in a multiplication table.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/javascript-math-exercise-110.php