用 JavaScript 查詢完美數


完美數是一個正整數,它等於其所有正約數之和(不包括自身)。正整數 x 的約數是可以整除 x 的正整數。

例如 −

28 is a perfect number, because
28 = 1 + 2 + 4 + 7 + 14

我們需要編寫一個 JavaScript 函式,它接受一個數字(即 n),並確定 n 是否是完美數。

示例

const num = 28;
const checkPerfectNumber = (num = 1) => {
   if(num === 1) {
      return false;
   };
   let sum = 1;
   for(let i = 2; i <= Math.floor(Math.sqrt(num)); i++){
      if(num % i === 0) {
         sum = sum + i + num / i; if(sum > num) {
            return false;
         }
      };
   };
   return sum === num;
};
console.log(checkPerfectNumber(num));

輸出

控制檯輸出結果為 −

true

更新於: 2020 年 11 月 21 日

2K+ 瀏覽

開啟你的 職業

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.