21xrx.com
2024-11-22 10:04:16 Friday
登录
文章检索 我的文章 写文章
JavaScript编写水仙花数的方法和代码
2023-06-15 17:52:55 深夜i     --     --
JavaScript 水仙花数 代码示例

水仙花数是指一个数等于其各个数字的立方和。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在这篇文章中,我们将学习如何使用JavaScript编写水仙花数,并提供一个完整的代码示例。

首先,我们需要定义一个函数来检查一个数是否为水仙花数。这个函数将接受一个数字作为参数,并返回一个布尔值,表示该数字是否为水仙花数。代码如下:


function isNarcissisticNumber(num) {

 const digits = num.toString().split('').map(digit => parseInt(digit));

 const sumOfCubes = digits.reduce((acc, digit) => acc + Math.pow(digit, 3), 0);

 return sumOfCubes === num;

}

这个函数首先将数字转换为一个数组,其中每个元素都是数字的一个位数。然后,它将每个元素的立方加起来,并检查结果是否等于原始数字。如果是,则该函数返回true,否则返回false。

接下来,我们可以编写另一个函数,用于找到指定范围内的所有水仙花数。这个函数将接受两个数字作为参数,即范围的起始和结束数字。它会遍历这个范围内的所有数字,并使用isNarcissisticNumber函数来检查每个数字是否为水仙花数。最后,它将返回一个数组,其中包含所有查找到的水仙花数。代码如下:


function findNarcissisticNumbersInRange(start, end) {

 const narcissisticNumbers = [];

 for (let i = start; i <= end; i++) {

  if (isNarcissisticNumber(i)) {

   narcissisticNumbers.push(i);

  }

 }

 return narcissisticNumbers;

}

现在,我们可以使用这个函数来查找任何特定范围内的所有水仙花数。例如,我们可以使用以下代码来查找1到1000之间的所有水仙花数:


const narcissisticNumbers = findNarcissisticNumbersInRange(1, 1000);

console.log(narcissisticNumbers);

输出结果如下:


[1, 153, 370, 371, 407]

以上就是使用JavaScript编写水仙花数的方法和示例代码。现在让我们总结一下本文的3个

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复