どう書く? - 倍数になる13進数
倍数になる13進数 どう書く?orgを解いてみた。
import System.Environment calc13 :: (Num a, Read a) => [Char] -> a -> a calc13 [] i = i calc13 (x:xs) i = calc13 xs $ i * 13 + (read [x]) match :: String -> Bool match i = (==) 0 $ rem ( flip calc13 0 i) $ read i matchStr :: String -> String matchStr i | match i = i ++ "\n" | otherwise = "" main = do args <- getArgs mapM_ (putStr . matchStr) args
ちょっと、型変換苦手だわ。read忘れたりしまくった。
$ ghc -o 13sinsu 13sinsu.hs $ ./13sinsu `ruby -e "(10..10000).to_a.each{|a| puts a}"` 1557 1560 1614