Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 두 개의 완전제곱수의 합입니다.

<시간/>

완전제곱수:

수학에서 자연수는 바로 그 수에 다른 자연수를 곱하여 얻을 수 있는 경우 완전제곱수라고 합니다.

예를 들어 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