在 JavaScript 中查找完美数字

javascriptweb developmentfront end technologyobject oriented programming

完美数字是等于其正因数之和(不包括数字本身)的正整数。整数 x 的因数是可以整除 x 的整数。

例如 −

28 是完美数字,因为
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

相关文章