« 2010年1 月 | メイン | 2010年3 月 »

2010年2 月

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