Problem 4
http://projecteuler.net/index.php?section=problems&id=4
回文
import List main = print $ largestPalidrome largestPalidrome = maximumBy ord $ filter f $ map g $ seeds where ord (p0, _) (p1, _) = p0 `compare` p1 f (product, _) = isPalindoricNumer product g seed@(a, b) = (a * b, seed) seeds = [(a, b) | a <- [999,998..100], b <- [a,a-1..100]] isPalindoricNumer n = let s = show n in s == reverse s