Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

FizzBuzz

Name: Anonymous 2012-10-05 7:23

for i in range(110):
    pr = ""
    pr += "Fizz" * (i%3 == 0)
    pr += "Buzz" * (i%5 == 0)
    pr += "Bazz" * (i%7 == 0)
    print (pr if pr else i)


Beat this, faghets.

Name: Anonymous 2012-10-05 8:34

I am stupid


fizzbuzzbazz :: [Integer] -> [String]
fizzbuzzbazz = map (finish . bazz . buzz . fizz . start)
 where
  start n         = (n, "")
  finish (n, "")  = show n
  finish (_, s)   = s

  appendIfDivides q s (n, r)
                  | n `rem` q == 0  = (n, r ++ s)
                  | otherwise       = (n, r)

  fizz            = appendIfDivides 3 "Fizz"
  buzz            = appendIfDivides 5 "Buzz"
  bazz            = appendIfDivides 7 "Bazz"

main = mapM_ putStrLn $ fizzbuzzbazz [0..109]

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List