Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การหาตัวเลขที่สมบูรณ์แบบใน JavaScript


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