在JavaScript中查找给定范围内的阿姆斯壮数字

如果以下方程式适用于该数字,则该数字称为阿姆斯特朗数字:xy ... z = xx + yy + ... + zz,其中n表示数字中的位数。

例如:

153是Armspan的数字,因为-

11 +55 +33 = 1 + 125 + 27 =153

我们需要编写一个JavaScript函数,该函数接受两个数字(一个范围),并返回它们之间的所有数字(即阿姆斯特朗(包括阿姆斯特朗),包括阿姆斯特朗)

示例

为此的代码将是-

const isArmspan = number => {

   let num = number;

   const len = String(num).split("").length;

   let res = 0;

   while(num){

      const last = num % 10;

      res += Math.pow(last, len);

      num = Math.floor(num / 10);

   };

   return res === number;

};

const armspanBetween = (lower, upper) => {

   const res = [];

   for(let i = lower; i <= upper; i++){

      if(isArmspan(i)){

         res.push(i);

      };

   };

   return res;

};

console.log(armspanBetween(1, 400));

输出结果

控制台中的输出-

[

   1, 2, 3, 4, 5,

   6, 7, 8, 9, 153,

   370, 371

]

以上是 在JavaScript中查找给定范围内的阿姆斯壮数字 的全部内容, 来源链接: utcz.com/z/345352.html

回到顶部