auto-generated entry for Perfect Number. the solution files are available below.
solution files
- C++
perfect-number/synced-solution.cpp - Python
perfect-number/synced-solution.py - TypeScript
perfect-number/synced-solution.ts
Collected C++, Python, TypeScript solutions for perfect number. Add a dedicated write-up later if you want deeper notes.
auto-generated entry for Perfect Number. the solution files are available below.
perfect-number/synced-solution.cppperfect-number/synced-solution.pyperfect-number/synced-solution.tsclass Solution:
def checkPerfectNumber(self, num: int) -> bool:
if num <= class="syntax-number">1:
return False
total = class="syntax-number">1
factor = class="syntax-number">2
while factor * factor <= num:
if num % factor == class="syntax-number">0:
total += factor
if factor * factor != num:
total += num class=class="syntax-string">"syntax-comment">// factor
factor += class="syntax-number">1
return total == num
class Solution {
public:
bool checkPerfectNumber(int num) {
if (num <= class="syntax-number">1) {
return false;
}
int total = class="syntax-number">1;
for (int factor = class="syntax-number">2; factor * factor <= num; factor++) {
if (num % factor == class="syntax-number">0) {
total += factor;
if (factor * factor != num) {
total += num / factor;
}
}
}
return total == num;
}
};
function checkPerfectNumber(num: number): boolean {
if (num <= class="syntax-number">1) {
return false;
}
let total = class="syntax-number">1;
for (let factor = class="syntax-number">2; factor * factor <= num; factor++) {
if (num % factor === class="syntax-number">0) {
total += factor;
if (factor * factor !== num) {
total += Math.floor(num / factor);
}
}
}
return total === num;
}