-- Find the largest palindrome made from the product of two 3-digit numbers. import Data.List -- Shortcut: 924 * 962 = 888888, a palindrome, so at least one factor must be >= 924. products = sortBy (flip compare) [ n * m | n <- [999,998..924], m <- [999,998..100] ] palindrome n = show n == reverse (show n) main = print $ head $ filter palindrome products