diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2011-12-01 16:31:43 +0100 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:35:09 +0200 |
| commit | bdfe75ef8a7be289657d53e38f18439d1cd876e1 (patch) | |
| tree | 85133acaa880142387481afa2f5f1e473b08580d /src | |
| parent | afa064013cff0579b3c6cee8079a7d60af88f646 (diff) | |
solved projecteuler 125
Diffstat (limited to 'src')
| -rw-r--r-- | src/projecteuler/125.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/projecteuler/125.py b/src/projecteuler/125.py new file mode 100644 index 0000000..35dae6b --- /dev/null +++ b/src/projecteuler/125.py @@ -0,0 +1,22 @@ + +limit = 10**8 + +squares = [ x*x for x in xrange(1, 7200) ] + +def is_palindrome(n): + nstr = str(n) + return nstr == nstr[::-1] + + +palindromes = set() + +for i in xrange(len(squares)-1): # iterate over all starting positions + for j in xrange(2, len(squares)): # iterate over all possible lengths + sqrsum = sum(squares[i:i+j]) + if sqrsum >= limit: + break + if is_palindrome(sqrsum): + palindromes.add(sqrsum) + +print sum(palindromes) + |
