Isaac Emmanuel
15 Jun 2024•EasyC++ / Python / TypeScript

Perfect Number

C++, Python and TypeScript solutions for Perfect Number.

The Perfect Number solutions are below.

Solution files

Python•perfect-number/synced-solution.py
class Solution:
    def checkPerfectNumber(self, num: int) -> bool:
        if num <= 1:
            return False

        total = 1
        factor = 2
        while factor * factor <= num:
            if num % factor == 0:
                total += factor
                if factor * factor != num:
                    total += num // factor
            factor += 1
        return total == num
C++•perfect-number/synced-solution.cpp
class Solution {
public:
    bool checkPerfectNumber(int num) {
        if (num <= 1) {
            return false;
        }

        int total = 1;
        for (int factor = 2; factor * factor <= num; factor++) {
            if (num % factor == 0) {
                total += factor;
                if (factor * factor != num) {
                    total += num / factor;
                }
            }
        }
        return total == num;
    }
};
TypeScript•perfect-number/synced-solution.ts
function checkPerfectNumber(num: number): boolean {
    if (num <= 1) {
        return false;
    }

    let total = 1;
    for (let factor = 2; factor * factor <= num; factor++) {
        if (num % factor === 0) {
            total += factor;
            if (factor * factor !== num) {
                total += Math.floor(num / factor);
            }
        }
    }
    return total === num;
}