js求水仙花数有几种方法
时间: 2023-05-16 16:06:14 浏览: 104
有多种方法可以用 JavaScript 求解水仙花数,其中一种比较简单的方法是使用循环和取模运算符来实现。以下是一个示例代码:
```javascript
function isArmstrongNumber(num) {
let sum = 0;
const digits = num.toString().split('');
const n = digits.length;
for (let digit of digits) {
sum += Math.pow(parseInt(digit), n);
}
return sum === num;
}
function findArmstrongNumbers(min, max) {
const result = [];
for (let i = min; i <= max; i++) {
if (isArmstrongNumber(i)) {
result.push(i);
}
}
return result;
}
console.log(findArmstrongNumbers(100, 999));
```
这段代码定义了两个函数,`isArmstrongNumber` 和 `findArmstrongNumbers`。`isArmstrongNumber` 函数用于判断一个数是否为水仙花数,`findArmstrongNumbers` 函数用于在指定范围内查找所有的水仙花数。在 `isArmstrongNumber` 函数中,我们首先将数字转换为字符串,并将其拆分为单个数字。然后,我们使用循环和 `Math.pow` 函数计算每个数字的 n 次方,并将它们相加。最后,我们将计算结果与原始数字进行比较,如果相等,则说明该数字是水仙花数。在 `findArmstrongNumbers` 函数中,我们使用一个循环来遍历指定范围内的所有数字,并调用 `isArmstrongNumber` 函数来判断每个数字是否为水仙花数。如果是,我们将其添加到结果数组中,并在函数结束时返回该数组。
阅读全文