Perfect Number
EasyMath
Solution
export function checkPerfectNumber(num: number): boolean {
if (num === 1) {
return false;
}
const sqrtNum = Math.sqrt(num);
let sumOfDivisor = 1;
for (let divisor = 2; divisor <= sqrtNum; divisor++) {
if (num % divisor === 0) {
sumOfDivisor += divisor === sqrtNum ? divisor : divisor + num / divisor;
}
}
return sumOfDivisor === num;
}