javascript实现判断水仙花数
时间: 2024-09-29 08:00:19 浏览: 29
在 JavaScript 中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153 的立方和 (1^3 + 5^3 + 3^3) 等于 153。下面是一个简单的函数来检查一个数是否为水仙花数:
```javascript
function is narcissisticNumber(num) {
// 将数字转换成字符串,获取每一位
let strNum = num.toString();
if (strNum.length !== 3) return false; // 如果不是三位数,则不是水仙花数
const digits = strNum.split('').map(Number); // 获取每个位上的数字
// 计算各位立方和并与原数比较
let sumOfCubes = digits.reduce((a, b) => a + Math.pow(b, 3), 0);
return sumOfCubes === num;
}
// 示例
console.log(isNarcissisticNumber(153)); // 输出:true
console.log(isNarcissisticNumber(123)); // 输出:false
```
这个函数首先检查输入的数是否为三位数,然后将它拆分成各个位的数字,并计算它们的立方和。如果和等于原始数值,那么就是水仙花数。
相关问题
使用javascript实现判断用户输入的数字是否是水仙花数
在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、创建 5-3.htnl 文件,文件中定义函数 narcissus,作用是判断水仙花数,调用该函数,在页面输出所有的水仙花数,页面输出结果如下图所示。 第1个水仙花数是153 第2个水仙花数是370 第3个水仙花数是371 第4个水仙花数是407
为了创建一个`5-3.html`文件,我们需要在其中定义一个名为`narcissus`的函数,该函数接收一个整数作为参数,检查它是否是一个水仙花数,然后在HTML中循环遍历一定范围内的数字,调用该函数并打印出符合条件的结果。以下是基本的HTML和JavaScript代码实现:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Narcissus Numbers</title>
</head>
<body>
<h2 id="output"></h2>
<script>
function narcissus(num) {
let digits = num.toString().split('').map(Number);
const sumDigits = digits.reduce((total, digit) => total + digit, 0);
return num === sumDigits;
}
// 遍历从100到999的整数寻找水仙花数
for (let i = 100; i <= 999; i++) {
if (narcissus(i)) {
console.log(`第${(i - 100) + 1}个水仙花数是:${i}`);
document.getElementById('output').innerHTML += `第${(i - 100) + 1}个水仙花数是:${i}\n`;
}
}
</script>
</body>
</html>
```
当运行这个`5-3.html`文件时,会显示如题所述的结果。
阅读全文