diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2010-03-13 16:10:57 +0100 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:11:45 +0200 |
| commit | 7fa2a57c8bc7748640f5984ea30dd371e2b77bc2 (patch) | |
| tree | 880483d2c2d6675d37b1342f4ea236604db07cbc | |
| parent | 2a535141fbe0c06424283f8a01a7e2c8a1180ed7 (diff) | |
solution for project euler #23 added
| -rw-r--r-- | src/projecteuler/023.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/projecteuler/023.py b/src/projecteuler/023.py new file mode 100644 index 0000000..d109302 --- /dev/null +++ b/src/projecteuler/023.py @@ -0,0 +1,37 @@ +import math + +limit = 28123 +numbers = set() + +def abundant(n): + divisors = set() + divisors.add(1) + for i in xrange(2, int(math.sqrt(n))+1): + if n % i == 0: + divisors.add(i) + divisors.add(n/i) + + if sum(divisors) > n: + return True + else: + return False + +def sum_abundant(n): + for i in numbers: + if n-i in numbers: + return True + return False + + +for n in xrange(2, limit+1): + if abundant(n): + numbers.add(n) + +sum = 0 + +for n in xrange(limit+1): + if not sum_abundant(n): + sum += n + +print sum + |
