From 3373f8f1f777f07fc667fd72090f3a4420a81cae Mon Sep 17 00:00:00 2001 From: Correl Roush Date: Wed, 14 Apr 2010 21:30:59 +0000 Subject: [PATCH] executable code, yay git-svn-id: file:///srv/svn/euler@50 e5f4c3ec-3c0c-11df-b522-21efaa4426b5 --- e021.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/e021.py b/e021.py index 791fe5e..6f39938 100644 --- a/e021.py +++ b/e021.py @@ -1,9 +1,6 @@ from e007 import is_prime from e012 import factor -MIN = 2 -MAX = 10000 - def proper_divisors(n): """Returns the proper divisors of n @@ -13,16 +10,20 @@ def proper_divisors(n): # Knock off the last factor, since it is equal to n return divisors[:-1] -sums = {} -amicable = [] -i = MIN -while i < MAX: - if not is_prime(i): - s = sum(proper_divisors(i)) - sums[i] = s - if s in sums and i == sums[s] and i != s: - print i, s, sums[s] - amicable.append(i) - amicable.append(s) - i = i + 1 -print 'Sum of amicable numbers less than {0}: {1}'.format(MAX, sum(amicable)) \ No newline at end of file +if __name__ == '__main__': + MIN = 2 + MAX = 10000 + + sums = {} + amicable = [] + i = MIN + while i < MAX: + if not is_prime(i): + s = sum(proper_divisors(i)) + sums[i] = s + if s in sums and i == sums[s] and i != s: + print i, s, sums[s] + amicable.append(i) + amicable.append(s) + i = i + 1 + print 'Sum of amicable numbers less than {0}: {1}'.format(MAX, sum(amicable)) \ No newline at end of file