js求水仙花数
时间: 2023-08-16 19:08:08 浏览: 38
以下是 JavaScript 实现求解水仙花数的代码:
```javascript
function isNarcissisticNumber(num) {
const digits = num.toString().split('');
const power = digits.length;
const sum = digits.reduce((acc, cur) => acc + Math.pow(parseInt(cur), power), 0);
return sum === num;
}
function findNarcissisticNumbers(start, end) {
const result = [];
for (let i = start; i <= end; i++) {
if (isNarcissisticNumber(i)) {
result.push(i);
}
}
return result;
}
const narcissisticNumbers = findNarcissisticNumbers(100, 999);
console.log(narcissisticNumbers);
```
该代码中的 `isNarcissisticNumber` 函数用于判断一个数字是否为水仙花数,`findNarcissisticNumbers` 函数用于在指定范围内查找所有的水仙花数。
相关问题
js求水仙花数有几种方法
有多种方法可以用 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` 函数来判断每个数字是否为水仙花数。如果是,我们将其添加到结果数组中,并在函数结束时返回该数组。
js用for循环求水仙花数
在JavaScript中,可以使用for循环对100-999之间的数字进行循环判断,判断这个三位数是否为水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。具体实现可以参考以下代码:
```
for(var a = 100; a <= 999; a++) {
var gewei = parseInt(a % 10);//取个位数
var shiwei = parseInt(a / 10 % 10);//取十位数
var baiwei = parseInt(a / 100);//取百位数
//判断这个三位数是否为水仙花数
if(a == (Math.pow(gewei,3)+Math.pow(shiwei,3)+Math.pow(baiwei,3))) {
document.write(a + "是一个水仙花数" + "<br />");
}
}
```
以上代码中,使用for循环对100-999之间的数字进行循环判断,使用parseInt()函数取出每个数字的个位、十位和百位,然后使用Math.pow()函数计算出各位数字的立方和,最后判断是否等于该数本身,如果是,则输出该数是一个水仙花数。