Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số hoàn hảo trong JavaScript

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