executable code, yay

git-svn-id: file:///srv/svn/euler@50 e5f4c3ec-3c0c-11df-b522-21efaa4426b5
This commit is contained in:
Correl Roush 2010-04-14 21:30:59 +00:00
parent 4b1ce72158
commit 3373f8f1f7

33
e021.py
View file

@ -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))
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))