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

범위 사이의 암스트롱 숫자 - JavaScript

<시간/>

다음 방정식이 해당 숫자에 대해 참인 경우 숫자를 암스트롱 수라고 합니다. -

xy..z = x^n + y^n+.....+ z^n

여기서 n은 숫자의 자릿수를 나타냅니다.

예를 들어 - 370은 암스트롱 수입니다. -

3^3 + 7^3 + 0^3 = 27 + 343 + 0 = 370

두 개의 숫자, 즉 범위를 취하고 그 사이에 암스트롱 숫자인 모든 숫자(암스트롱인 경우 포함)를 반환하는 JavaScript 함수를 작성해야 합니다.

예시

이 함수의 코드를 작성해 봅시다 -

const isArmstrong = number => {
   let num = number;
   const len = String(num).split("").length;
   let res = 0;
   while(num){
      const last = num % 10;
      res += Math.pow(last, len);
      num = Math.floor(num / 10);
   };
   return res === number;
};
const armstrongBetween = (lower, upper) => {
   const res = [];
   for(let i = lower; i <= upper; i++){
      if(isArmstrong(i)){
         res.push(i);
      };
   };
   return res;
};
console.log(armstrongBetween(1, 400));

출력

콘솔의 출력:−

[
   1,   2, 3, 4,   5,
   6,   7, 8, 9, 153,
   370, 371
]