Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm kiếm những con số hoàn hảo trong JavaScript

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