จำนวนสมบูรณ์คือจำนวนเต็มบวกที่เท่ากับผลรวมของตัวหารบวก ไม่รวมตัวตัวเลขนั้นเอง ตัวหารของจำนวนเต็ม 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