{"id":542,"date":"2012-08-05T01:51:15","date_gmt":"2012-08-05T05:51:15","guid":{"rendered":"http:\/\/www.joshho.com\/blog\/?p=542"},"modified":"2012-09-07T16:12:20","modified_gmt":"2012-09-07T20:12:20","slug":"project-euler-problem-36","status":"publish","type":"post","link":"https:\/\/www.joshho.com\/blog\/2012\/08\/05\/project-euler-problem-36\/","title":{"rendered":"Project Euler &#8211; Problem 36"},"content":{"rendered":"<p>Problem 36: Find the sum of all numbers less than one million, which are palindromic in base 10 and base 2.<br \/>\n<!--more--><br \/>\n<code><\/p>\n<pre lang='java'>\r\n\r\nclass runner\r\n{\r\n\tpublic static boolean palin_base10(int y){\r\n\t\tint number = y, temp, reversedNumber = 0;\r\n\t\twhile(number > 0){\r\n\t\t\ttemp = number % 10;\r\n\t\t\tnumber = number \/ 10;\r\n\t\t\treversedNumber = reversedNumber * 10 + temp;\r\n\t\t}\r\n\t\treturn y == reversedNumber;\r\n\t}\r\n\r\n\t\/\/limited by 1 million\r\n\tstatic int[] two_arr = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288};\r\n\tpublic static boolean palin_base2(int y){\r\n\t\tboolean[] arr = new boolean[two_arr.length];\r\n\t\tint z = y; int start=0;\r\n\t\tfor(int m=two_arr.length-1;m>-1;m--){\r\n\t\t\tif(z>=two_arr[m]){\r\n\t\t\t\tif(start<m) start = m;\r\n\t\t\t\tz-=two_arr[m];\r\n\t\t\t\tarr[m] = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor(int i=start; i>-1; i--){\r\n\t\t\tif(arr[i] == arr[start-i]){\r\n\t\t\t}else{return false;}\r\n\t\t}\r\n\t\t\r\n\t\treturn true;\r\n\t}\r\n\r\n\tpublic static void main (String[] args) throws java.lang.Exception\r\n\t{\r\n\t\tlong time = System.currentTimeMillis();\r\n\t\tint sum = 0;\r\n\t\tfor(int i=1;i<1000000 +1;i+=2){\r\n\t\t\tif(palin_base10(i) &#038;&#038; palin_base2(i)){\r\n\t\t\t\tsum+=i;\r\n\t\t\t}\r\n\t\t}\r\n\t\tSystem.out.println(sum);\r\n\r\n\t\tSystem.out.println(\"time: \"+(System.currentTimeMillis() - time));\r\n\t}\r\n}\r\n<\/pre>\n<p><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem 36: Find the sum of all numbers less than one million, which are palindromic in base 10 and base 2.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[56],"tags":[],"_links":{"self":[{"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/posts\/542"}],"collection":[{"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/comments?post=542"}],"version-history":[{"count":0,"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/posts\/542\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/media?parent=542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/categories?post=542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.joshho.com\/blog\/wp-json\/wp\/v2\/tags?post=542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}