水仙花数JavaScript编写代码
时间: 2024-11-21 16:24:29 浏览: 8
水仙花数,也称为 narcissistic number 或者 pluperfect digital invariant,是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
在 JavaScript 中,你可以通过遍历并检查每个三位数是否满足这个条件来编写一个简单的函数来找出所有的水仙花数。以下是这样一个函数的示例:
```javascript
function isNarcissistic(num) {
const digits = String(num).split('').map(Number);
return num === digits.reduce((a, b) => a + Math.pow(b, 3), 0);
}
function findNarcissisticNumbers() {
let result = [];
for (let i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
result.push(i);
}
}
return result;
}
console.log(findNarcissisticNumbers()); // 打印所有水仙花数
相关问题
水仙花数代码HTML
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在HTML中编写代码来检查一个输入的整数是否是水仙花数并不直接,因为HTML主要用于网页展示和结构,而不是程序逻辑。但是,你可以配合JavaScript来完成这个功能。下面是一个简单的例子:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>水仙花数检测</title>
<script>
function checkArmstrongNumber() {
let numInput = document.getElementById('num').value;
const digits = numInput.toString().split('').map(Number);
const sumOfCubes = digits.reduce((acc, digit) => acc + Math.pow(digit, 3), 0);
if (sumOfCubes === parseInt(numInput)) {
alert(`${numInput}是水仙花数`);
} else {
alert(`${numInput}不是水仙花数`);
}
}
</script>
</head>
<body>
<h1>水仙花数检查</h1>
<label for="num">请输入一个三位数:</label>
<input type="number" id="num" min="100" max="999">
<button onclick="checkArmstrongNumber()">检查</button>
</body>
</html>
```
在这个HTML页面中,用户可以在输入框里输入一个三位数,然后点击“检查”按钮,JavaScript会计算并显示结果。如果输入的是水仙花数,就会弹出提示信息。
编写nodejs程序输出水仙花数
好的,以下是一个简单的 Node.js 程序,可以输出从 100 到 999 之间的所有水仙花数:
```javascript
function isArmstrongNumber(num) {
let sum = 0;
const str = num.toString();
for (let i = 0; i < str.length; i++) {
const digit = parseInt(str[i], 10);
sum += digit ** str.length;
}
return sum === num;
}
for (let i = 100; i <= 999; i++) {
if (isArmstrongNumber(i)) {
console.log(i);
}
}
```
在上面的程序中,我们定义了一个 `isArmstrongNumber` 函数来判断一个数是否是水仙花数。然后,我们使用一个 `for` 循环来遍历从 100 到 999 之间所有的数,检查它们是否是水仙花数,并输出结果。你可以将以上代码保存为 `armstrong.js` 文件,然后在终端窗口中执行以下命令来运行它:
```
node armstrong.js
```
这将在屏幕上输出所有的水仙花数。
阅读全文