module Main (main) where fromDecimal :: (Integral a) => a -> a -> a fromDecimal n x = f 0 x 1 where f r 0 _ = r f r y z = f (r + (y `mod` 10) * z) (y `div` 10) (z * n) main :: IO () main = putStr $ show $ head $ filter (\x -> fromDecimal 13 x `mod` x == 0) [10..]
実行。
^o^ >runhaskell multiple13.hs 1557