js求水仙花数
时间: 2023-08-06 15:26:07 浏览: 39
以下是 JavaScript 代码,用于计算三位数中的水仙花数:
```javascript
for (let i = 100; i < 1000; i++) {
let sum = 0;
let temp = i;
while (temp > 0) {
let digit = temp % 10;
sum += digit ** 3;
temp = Math.floor(temp / 10);
}
if (sum === i) {
console.log(i);
}
}
```
代码中使用了一个循环来遍历所有三位数,然后对每个数进行水仙花数的判断。对于每个数,我们使用一个 while 循环来计算其每个数字的立方和,如果这个和等于原数本身,则它是一个水仙花数。最后,我们将所有的水仙花数输出到控制台。
相关问题
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()函数计算出各位数字的立方和,最后判断是否等于该数本身,如果是,则输出该数是一个水仙花数。