summaryrefslogtreecommitdiff
path: root/036.py
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:21:45 +0200
committerReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:35:09 +0200
commit95341b61b030c9e1290f3b326cb7ec584f543aea (patch)
tree852386fa04d32eb859bca11c0eff7b5ef9e50f00 /036.py
parent571164d977f91925c4c76a292f74f5f93d09ae23 (diff)
moved files to higher directory after split to new repositoryHEADtrunk
Diffstat (limited to '036.py')
-rw-r--r--036.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/036.py b/036.py
new file mode 100644
index 0000000..bf800da
--- /dev/null
+++ b/036.py
@@ -0,0 +1,40 @@
+
+binary = [ 2**x for x in range(20) ][::-1]
+
+def palindromic_decimal(n):
+ if n == int(str(n)[::-1]):
+ return True
+ return False
+
+
+def dec2bin(n):
+ res = ""
+ for i in binary:
+ if n - i > 0 or n == i:
+ res += "1"
+ n -= i
+ else:
+ if len(res) > 0: # do not add leading 0s
+ res += "0"
+ return res
+
+def bin2dec(n):
+ res = 0
+ for i in range(1, len(n)+1):
+ if n[-i] == "1":
+ res += binary[-i]
+ return res
+
+def palindromic_binary(n):
+ if n == bin2dec(dec2bin(n)[::-1]):
+ return True
+ return False
+
+sum = 0
+
+for n in xrange(1000000):
+ if palindromic_decimal(n) and palindromic_binary(n):
+ sum += n
+
+print sum
+