10/23/2010

Project Euler - Problem 4

I thought a little bit cuz I'm new to Haskell.
import System.IO
main = do
putStrLn $ biggest "0" [ show (a*b) | a <- [100..999], b <- [100..999], isPalindromicNum (show (a*b))]
isPalindromicNum [] = True
isPalindromicNum (_:[]) = True
isPalindromicNum (x:xs) | x == last xs = isPalindromicNum (init xs)
| otherwise = False
biggest m [] = m
biggest m (x:xs) | x' > m' = biggest x xs
| otherwise = biggest m xs
where x' = (read x)::Integer
m' = (read m)::Integer
view raw gistfile1.hs hosted with ❤ by GitHub

No comments:

Post a Comment