Một số hoàn hảo là một số nguyên dương bằng tổng các ước số dương của nó, không bao gồm số chính nó. Ước của một số nguyên x là một số nguyên có thể chia đều cho x.
Ví dụ -
28 is a perfect number, because 28 = 1 + 2 + 4 + 7 + 14
Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số, chẳng hạn như n, và xác định xem n có phải là một 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)); Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
true