Difference between revisions of "Haskell Quiz/FizzBuzz/Solution Ninju"

From HaskellWiki
Jump to: navigation, search
(Remove old, not very useful page)
m (Reverted edits by Tomjaguarpaw (talk) to last revision by Syzygies)
 
Line 1: Line 1:
 +
[[Category:Haskell Quiz solutions|FizzBuzz]]
  
 +
I think this is probably what I'd do in the interview situation - i.e. the first and most obvious thing that comes to mind.
 +
 +
<haskell>
 +
module Main where
 +
 +
main :: IO ()
 +
main = printAll $ map fizzBuzz [1..100]
 +
      where
 +
      printAll [] = return ()
 +
      printAll (x:xs) = putStrLn x >> printAll xs
 +
 +
fizzBuzz :: Integer -> String
 +
fizzBuzz n | n `mod` 15 == 0 = "FizzBuzz"
 +
          | n `mod` 5  == 0 = "Fizz"
 +
          | n `mod` 3  == 0 = "Buzz"
 +
          | otherwise      = show n
 +
</haskell>

Latest revision as of 15:19, 6 February 2021


I think this is probably what I'd do in the interview situation - i.e. the first and most obvious thing that comes to mind.

module Main where

main :: IO ()
main = printAll $ map fizzBuzz [1..100]
       where
       printAll [] = return ()
       printAll (x:xs) = putStrLn x >> printAll xs

fizzBuzz :: Integer -> String
fizzBuzz n | n `mod` 15 == 0 = "FizzBuzz"
           | n `mod` 5  == 0 = "Fizz"
           | n `mod` 3  == 0 = "Buzz"
           | otherwise       = show n