« SequelでTimestampsプラグインを使う | メイン | HaskellでProject Euler »

2010年2 月17日 (水)

HaskellでFizzBuzz

もう少しスマートに書けるような気がする。

main = putStr $ loop 1 100

loop s e
| s > e = ""
| otherwise = (fizzbuzz s) ++ "\n" ++ (loop (s+1) e)

fizzbuzz x
| x `isMultiple` 3 && x `isMultiple` 5 = "fizzbuzz"
| x `isMultiple` 3 = "fizz"
| x `isMultiple` 5 = "buzz"
| otherwise = show (x)

isMultiple x y = (x `mod` y) == 0

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a01287585694c970c0120a8aa5f1d970b

HaskellでFizzBuzzを参照しているブログ:

コメント

この記事へのコメントは終了しました。