最简单的js写水仙花数
时间: 2024-10-10 08:03:44 浏览: 21
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在JavaScript中,我们可以编写一个简单函数来检查一个数是否为水仙花数:
```javascript
function isArmstrongNumber(num) {
// 将数字转换成字符串,便于处理每一位数字
let strNum = num.toString();
// 检查数字长度是否为3位,如果不是则不是水仙花数
if (strNum.length !== 3) {
return false;
}
// 分别计算每一位数字的立方并求和
let sum = 0;
for (let i = 0; i < strNum.length; i++) {
let digit = parseInt(strNum[i]);
sum += Math.pow(digit, 3);
}
// 如果和等于原数,则返回true,否则false
return sum === num;
}
// 示例:检测153是否是水仙花数
console.log(isArmstrongNumber(153)); // 输出:true
```
相关问题
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编程实现判断用户输入的数字是否是水仙花数。(水仙花数是指一个3位数,它 的各位数字的立方和等于它本身。例如:1+ 5+ 3= 153)
在JavaScript中,我们可以编写一段简单的函数来检查一个数字是否是水仙花数。以下是实现步骤:
```javascript
function is narcissisticNumber(num) {
// 将数字转换成字符串以便取每一位数字
let strNum = num.toString();
const len = strNum.length;
// 检查数字是否为三位数
if (len !== 3) {
return false;
}
// 分别计算每个位上的数字的立方并求和
let sum = 0;
for(let i = 0; i < len; i++) {
let digit = parseInt(strNum[i]);
sum += Math.pow(digit, 3);
}
// 如果和等于原始数字,则是水仙花数,返回true;否则返回false
return sum === num;
}
// 使用示例
console.log(isNarcissisticNumber(153)); // 输出: true
```
在这个函数中,我们首先将输入的数字转换成字符串,然后遍历每一位数字,计算其立方,并累加。最后比较这个总和是否与原数字相等。如果是则说明是水仙花数,返回`true`,否则返回`false`。
阅读全文