암스트롱 수:양의 정수는 다음과 같은 경우 암스트롱 수(n차)라고 합니다.
abcd... = a^n + b^n + c^n + d^n + ...
범위를 지정하는 정확히 두 개의 숫자 배열을 취하는 JavaScript 함수를 작성해야 합니다.
이 함수는 해당 범위에 속하는 모든 Armstrong 숫자의 배열을 반환해야 합니다(Armstrong인 경우 시작 및 끝 숫자 포함).
먼저 Armstrong 숫자를 감지하는 함수를 별도로 작성한 다음 범위를 반복하여 원하는 숫자로 배열을 채웁니다.
예시
다음은 코드입니다 -
const range = [11, 1111]; const isArmstrong = (num) => { const numberOfDigits = ('' + num).length; let sum = 0; let temp = num; while (temp > 0) { let remainder = temp % 10; sum += remainder ** numberOfDigits; temp = parseInt(temp / 10); } return sum === num; }; const findAllArmstrong = ([start, end]) => { const res = []; for(let i = start; i <= end; i++){ if(isArmstrong(i)){ res.push(i); }; }; return res; }; console.log(findAllArmstrong(range));
출력
다음은 콘솔 출력입니다 -
[ 153, 370, 371, 407 ]