in reply to Golf Challenge: FizzBuzz
In stumbling across this disturbing writeup, the author claims that not only can the majority of comp-sci majors not solve the 'fizzbuzz' problem, but he's also seen "senior" programmers take 10 or 15 minutes to solve it:Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.
I was quite sure I had already seen this thing. I thought it must have surely been in clpmisc. So I searched there and... much to my surprise it was actually a thread started by me! (available from Google Groups, too.)
Actually the requirements there were slightly different: to print "'fizz' if the number is divisible by 5, 'buzz' if it is divisible by 7 and 'fizzbuzz' if it is divisible by both." (Dor all numbers from 1 up to 100.) The best solution there was given by Jay Tilton:
print+fizz x/0|5$/.buzz x!($_%7)||$_,$/for 1..100
It can be directly adapted to this thread's "FizzBuzz":
print+Fizz x!($_%3).Buzz x/0|5$/||$_,$/for 1..100
And it's 49. But Sidhekin's solution, if amended with a newline:
print+(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/for 1..100
scores 48, and wins!
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Golf Challenge: FizzBuzz
by shmem (Chancellor) on Mar 04, 2007 at 22:11 UTC | |
by blazar (Canon) on Mar 04, 2007 at 23:52 UTC | |
by tweetiepooh (Hermit) on Jun 02, 2009 at 15:25 UTC | |
by shmem (Chancellor) on Jun 02, 2009 at 18:28 UTC |
In Section
Meditations