-- The decimal number, 585 = 1001001001_2 (binary), is palindromic in both bases. -- -- Find the sum of all numbers, less than one million, which are palindromic in base 10 and base 2. -- -- (Please note that the palindromic number, in either base, may not include leading zeros.) toBinary :: Int -> [Int] toBinary 0 = [] toBinary 1 = [1] toBinary n = toBinary (n `div` 2) ++ [n `mod` 2] doublePalindrome :: Int -> Bool doublePalindrome n = show n == reverse (show n) && toBinary n == reverse (toBinary n) main = do let result = sum $ filter doublePalindrome [1..999999] putStrLn $ "Project Euler, Problem 36\n" ++ "Answer: " ++ show result