Sum of divisors
Compute sigma(n), the sum of all positive divisors of n (including 1 and n itself), for a single positive integer n up to about 10^12. A loop to n is far too slow; instead factorize n by trial division up to sqrt(n) and use the multiplicative product formula for sigma over prime powers. Return 0 for n <= 0.
Implement
sum_of_divisors(n: int) → intExamples
in
[12]out28What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 20 min
solution.py
InputExpectedGot
[12]28not run yetsample