day1/exercise/amicable_debug.py
author Prabhu Ramachandran <prabhu@aero.iitb.ac.in>
Sat, 19 Jun 2010 01:27:20 -0400
branchscipy2010
changeset 409 4442da6bf693
parent 380 669b72283b55
permissions -rw-r--r--
ENH: Minor cleanup. Also added slide to introduce IPython's %timeit and %time.

import math

def aliquot(n):
    sum = 1
    i = 2

    while i * i < n: 
        if n % i == 0:
            sum += i + (n / i)
        i += 1
    if i*i == n: sum += i
    return sum

amicable = []
for n in range(1000, 10000):
    m = aliquot(n)
    if m > n and aliquot(m) == n:
        amicable.append((m, n))

print amicable

# please please please profile this.