特定範圍內的阿姆斯特朗數
阿姆斯特朗數:如果滿足以下條件,一個正整數稱為阿姆斯特朗數(n 階):
abcd... = a^n + b^n + c^n + d^n + ...
我們需要編寫一個 JavaScript 函式,該函式接收一個數組,包含兩個數字,指定一個範圍。
該函式應返回該範圍內(包括起始和結束數字,如果是阿姆斯特朗數)的所有阿姆斯特朗數的陣列。
我們將首先分別編寫一個函式來檢測阿姆斯特朗數,然後迭代範圍以使用所需的數字填充陣列。
示例
以下是程式碼 −
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 ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP