JavaScript 自恋数

javascriptweb developmentobject oriented programming更新于 2025/10/3 9:16:17

自恋数

给定数基 b 中的 自恋数 是一个数字,它是其自身数字之和,每个数字的位数幂。

例如 −

153 = 1^3 + 5^3 + 3^3 = 1+125+27 = 153

类似地,

1 = 1^1 = 1

方法

我们将首先使用 while 循环计算数字的位数。然后使用另一个 while 循环,我们选择数字的最后一位数字并将其 (count) 次幂添加到变量 sum 中。循环结束后,我们返回一个布尔值,检查总和是否等于数字。

此方法的代码将是 −

示例

const isNarcissistic = (num) => {
   let m = 1, count = 0;
   while(num / m > 1){
      m *= 10;
      count++;
   };
   let sum = 0, temp = num;
   while(temp){
      sum += Math.pow(temp % 10, count);
      temp = Math.floor(temp / 10);
   };
   return sum === num;
};
console.log(isNarcissistic(153));
console.log(isNarcissistic(1634));
console.log(isNarcissistic(1433));
console.log(isNarcissistic(342));

输出

控制台中的输出将是 −

true
true
false
false

相关文章


有用资源