利用javascript代码,编写一个程序,找出所有的水仙花数
时间: 2024-12-28 20:32:10 浏览: 7
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在JavaScript中,我们可以编写一个函数来检查一个数是否为水仙花数。下面是一个简单的示例:
```javascript
function is narcissisticNumber(num) {
// 将数字转换为字符串并分割成数组,获取各个位数
const digits = num.toString().split('').map(Number);
// 计算各个位数的立方和
const sumOfCubes = digits.reduce((acc, curr) => acc + Math.pow(curr, 3), 0);
// 比较原数和立方和是否相等
return num === sumOfCubes;
}
// 找出100到999之间的所有水仙花数
let waterLilyNumbers = [];
for (let i = 100; i <= 999; i++) {
if (is NarcissisticNumber(i)) {
waterLilyNumbers.push(i);
}
}
console.log("水仙花数有:", waterLilyNumbers);
相关问题
水仙花数JavaScript编写代码
水仙花数,也称为 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()); // 打印所有水仙花数
利用HBuilderX找出水仙花数
在HBuilderX(DCloud的IDE)中,我们同样可以利用JavaScript来查找水仙花数。以下是使用HBuilderX编写的一个简单脚本:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Find Water Lily Numbers</title>
</head>
<body>
<script>
function findWaterLilies(start, end) {
let result = [];
for (let num = start; num <= end; num++) {
let strNum = num.toString();
if (strNum.length === 3 && strNum[0] * strNum[0] * strNum[0] + strNum[1] * strNum[1] * strNum[1] + strNum[2] * strNum[2] * strNum[2] === num) {
result.push(num);
}
}
return result;
}
// 调用函数并显示结果
const lowerBound = 100;
const upperBound = 999;
const waterLilies = findWaterLilies(lowerBound, upperBound);
console.log(`水仙花数在 ${lowerBound} 和 ${upperBound} 之间的有: `, waterLilies);
阅读全文