day1/exercise/amicable_debug.py
changeset 380 669b72283b55
parent 64 333092b68926
equal deleted inserted replaced
379:682b6f66fe11 380:669b72283b55
     1 import math
     1 import math
     2 
     2 
     3 def aliquot(n):
     3 def aliquot(n):
     4     sum = 0
     4     sum = 1
     5     for i in range(1, math.sqrt(n)+1):
     5     i = 2
       
     6 
       
     7     while i * i < n: 
     6         if n % i == 0:
     8         if n % i == 0:
     7             sum += i + n/i
     9             sum += i + (n / i)
       
    10         i += 1
       
    11     if i*i == n: sum += i
     8     return sum
    12     return sum
     9 
    13 
    10 amicable = []
    14 amicable = []
    11 for n in range(10000, 100000):
    15 for n in range(1000, 10000):
    12     m = aliquot(n)
    16     m = aliquot(n)
    13     if aliquot(m) == n:
    17     if m > n and aliquot(m) == n:
    14         amicable.append((m, n))
    18         amicable.append((m, n))
    15 
    19 
    16 print amicable
    20 print amicable
    17 
    21 
    18 # please please please profile this.
    22 # please please please profile this.