理想数是一个正整数,它等于其正因数之和,但不包括数字本身。整数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