js求水仙花数
时间: 2023-08-06 09:19:02 浏览: 54
以下是 JavaScript 实现的求水仙花数的代码:
```javascript
for (let i = 100; i <= 999; i++) {
let sum = 0;
let temp = i;
while (temp) {
const digit = temp % 10;
sum += digit ** 3;
temp = Math.floor(temp / 10);
}
if (sum === i) {
console.log(i);
}
}
```
该代码会在控制台输出所有的三位水仙花数(即各个位数的立方和等于该数本身的数字)。
相关问题
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的循环求水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,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循环计算每个数的各位数字的立方和。如果计算结果等于该数本身,则打印该数。
阅读全文