Số hoàn hảo là số nguyên dương bằng tổng các ước số dương của nó, trừ chính nó. Ước số của số nguyên x là số nguyên chia hết x.
Ví dụ:
28 là số hoàn hảo, vì 28 = 1 + 2 + 4 + 7 + 14
Chúng ta cần viết hàm JavaScript nhận vào số n và xác định n có phải số hoàn hảo hay không.
Ví dụ
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));Kết quả
Kết quả in ra console:
true