완전제곱수:
수학에서 자연수는 바로 그 수에 다른 자연수를 곱하여 얻을 수 있는 경우 완전제곱수라고 합니다.
예를 들어 9, 16, 81, 289는 모두 완전제곱수입니다.
num과 같은 자연수를 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다. 함수는 -
(m * m) + (n * n) = num
그러한 숫자가 있으면 함수는 true를 반환하고 그렇지 않으면 false를 반환해야 합니다.
예를 들어 -
입력 번호가 -
인 경우const num = 389;
그러면 출력은 다음과 같아야 합니다. -
const output = true;
왜냐하면 389 =(17 * 17) + (10 * 10)
예시
이에 대한 코드는 -
const num = 389; const canSumSquares = (num = 2) => { let left = 0, right = Math.floor(Math.sqrt(num)); while(left <= right){ if (left * left + right * right === num) { return true; } else if (left * left + right * right < num) { left++; } else { right--; }; }; return false; }; console.log(canSumSquares(num));
출력
콘솔의 출력은 -
true