JavaScript 水仙花數


水仙花數

在給定的數字基數 b 中,水仙花數是一個數字,它是其各個數字的和,每個數字都乘以數字的位數的冪。

例如 −

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

類似地,

1 = 1^1 = 1

方法

我們將首先使用 while 迴圈計算數字的位數。然後,再使用另一個 while 迴圈,我們將選取數字的最後一位,並將其(計數)次冪新增到變數 sum 中。在迴圈後,我們將返回一個布林值,檢查 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

更新時間: 2020 年 8 月 24 日

651 次檢視

開啟你的 職業

完成課程獲得認證

開始
廣告
© . All rights reserved.