用JavaScript实现:求1000以内的所有水仙花数
时间: 2023-11-02 09:14:18 浏览: 85
可以使用以下代码来实现:
```javascript
for (let i = 100; i >= 100 && i < 1000; i++) {
let sum = 0;
let temp = i;
while (temp > 0) {
let digit = temp % 10;
sum += digit * digit * digit;
temp = parseInt(temp / 10);
}
if (sum === i) {
console.log(i);
}
}
```
代码解释:
1. 使用 `for` 循环遍历 `100` 到 `999` 之间的整数,即遍历 `100` 到 `1000` 之间的整数。
2. 在循环中,使用 `while` 循环将当前数字的每一位上的数字的立方和累加起来,存储在变量 `sum` 中。
3. 如果 `sum` 等于当前数字 `i`,则输出 `i`,即当前数字是水仙花数。
4. 循环结束后,输出所有水仙花数的值。
相关问题
用JavaScript实现:求100以内的所有水仙花数
可以使用以下代码来实现:
```javascript
for (let i = 100; i >= 100 && i < 1000; i++) {
let sum = 0;
let temp = i;
while (temp > 0) {
let digit = temp % 10;
sum += digit * digit * digit;
temp = parseInt(temp / 10);
}
if (sum === i) {
console.log(i);
}
}
```
代码解释:
1. 使用 `for` 循环遍历 `100` 到 `999` 之间的整数,即遍历 `100` 到 `1000` 之间的整数。
2. 在循环中,使用 `while` 循环将当前数字的每一位上的数字的立方和累加起来,存储在变量 `sum` 中。
3. 如果 `sum` 等于当前数字 `i`,则输出 `i`,即当前数字是水仙花数。
4. 循环结束后,输出所有水仙花数的值。
用js输出1000以内的水仙花数
好的,请稍等,以下是用JavaScript输出1000以内的水仙花数的代码:
```
for (let i = 100; i < 1000; i++) {
let sum = 0; // 初始化每个数字的和为0
let num = i; // 拷贝一份当前数字
while (num > 0) {
let digit = num % 10; // 取得当前数字的个位数
sum += digit ** 3; // 累加当前数字的每个数位的立方
num = Math.floor(num / 10); // 去掉当前位,向右移动一位
}
if (sum === i) {
console.log(i); // 符合要求,输出该数字
}
}
```
希望能解决您的问题。