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”.

Tuesday, February 28, 2012

FizzBuzz 15 - Technically Correct (But Oh So Wrong)

I am going to keep with my theme idea for "FizzBuzz" counts.  These solutions are the ones that make your eyes bleed or make you brace for impact.  Technically this solution is correct, but it is oh so wrong.  This solution is in Text.  Not Tex, Text.

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz

If you ever interview with me and attempt this answer, be forewarned: I will make you present a complete solution.  Even if it takes the whole time I have allotted.  The only recovery would be to change your answer to a one liner.

However, if you use a specific "interpreter" this is, indeed, source code that will solve the problem. On Linux and Mac one popular solution is cat. More advanced candidates would use mode or less. Those candidates I would send to the IT department to vet (since this is evidence of command line aptitude) but I keep them off of the programming team. The interpreter on Windows is type, and I am not sure where I would send candidates who knew that answer.

No comments:

Post a Comment