使用javascript实现判断用户输入的数字是否是水仙花数
时间: 2024-09-29 17:03:13 浏览: 36
在JavaScript中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。你可以编写一个函数来检查输入的数字是否满足这个条件。这里有一个简单的实现示例:
```javascript
function isArmstrongNumber(num) {
// 将数字转换为字符串并获取每一位
let digits = num.toString().split('').map(Number);
let sumOfCubes = digits.reduce((a, b) => a + Math.pow(b, 3), 0);
// 检查总和是否等于原数字
return num === sumOfCubes;
}
// 测试
let userInput = prompt("请输入一个三位数:");
if (isArmstrongNumber(parseInt(userInput))) {
console.log(`${userInput} 是一个水仙花数.`);
} else {
console.log(`${userInput} 不是水仙花数.`);
}
```
相关问题
编程实现判断用户输入的数字是否是水仙花数。(水仙花数是指一个3位数,它的各位数字的立方和等于它本身。例如:13+5+3=153)
当然,要编写一个JavaScript程序来检查用户输入的数字是否为水仙花数,你可以创建一个函数,该函数接收用户输入作为参数,然后计算并比较各位数字的立方和是否等于原始数字。以下是一个简单的实现:
```javascript
function isNarcissisticNumber(num) {
// 将输入转换成字符串以便逐个获取每一位数字
const strNum = num.toString();
let sum = 0;
// 验证输入是否是3位数
if (strNum.length !== 3) {
return false;
}
// 分割字符串并计算每位数字的立方和
for (let digit of strNum) {
sum += Math.pow(parseInt(digit), 3);
}
// 检查立方和是否等于原始数字
return sum === num;
}
// 示例用法:
const userInput = parseInt(prompt("请输入一个三位数:"));
if (isNarcissisticNumber(userInput)) {
console.log(`${userInput} 是水仙花数`);
} else {
console.log(`${userInput} 不是水仙花数`);
}
```
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`。
阅读全文