js用for循环求水仙花数
时间: 2023-11-23 13:08:17 浏览: 99
在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()函数计算出各位数字的立方和,最后判断是否等于该数本身,如果是,则输出该数是一个水仙花数。
相关问题
用js的循环求水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3+5^3+3^3=153。下面是用JavaScript循环求水仙花数的代码:
```javascript
for (var i = 100; i < 1000; i++) {
var sum = 0;
var num = i;
while (num > 0) {
var digit = num % 10;
sum += digit * digit * digit;
num = Math.floor(num / 10);
}
if (sum == i) {
console.log(i);
}
}
```
这个代码用一个for循环遍历所有三位数,然后在循环中使用一个while循环计算每个数的各位数字的立方和。如果计算结果等于该数本身,则打印该数。
js求水仙花数
以下是 JavaScript 实现的水仙花数的代码:
```javascript
for (let i = 100; i < 1000; i++) {
const a = Math.floor(i / 100);
const b = Math.floor((i - a * 100) / 10);
const c = i % 10;
if (a * a * a + b * b * b + c * c * c === i) {
console.log(i);
}
}
```
解释一下代码的思路:
1. 使用 `for` 循环遍历三位数(从 100 到 999);
2. 分别计算出这个数的百位数、十位数和个位数;
3. 如果这个数等于各个数位的立方和,就输出这个数。
希望这个代码能够帮助您!
阅读全文