diff options
Diffstat (limited to 'day1/exercise/aliquot.py')
-rw-r--r-- | day1/exercise/aliquot.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/day1/exercise/aliquot.py b/day1/exercise/aliquot.py index f07cd77..96ea916 100644 --- a/day1/exercise/aliquot.py +++ b/day1/exercise/aliquot.py @@ -1,8 +1,19 @@ +def is_perfect_square(n): + i = 1 + while i * i < n: + i += 1 + return i * i == n, i + def aliquot(n): - sum = 0 - for i in range(1, (n/2)+1): + sum = 1 + i = 2 + + is_ps, root = is_perfect_square(n) + while i < root: if n % i == 0: - sum += i + sum += i + (n / i) + i += 1 return sum -print aliquot(14) +n = int(raw_input('Enter a number? ')) +print aliquot(n) |