สร้าง FizzBuzz ที่สั้นที่สุดเท่าที่จะเป็นไปได้
หากต้องการได้รับการพิจารณาว่าสับสนต้องมีสิ่งต่อไปนี้อย่างน้อยหนึ่งอย่าง:
- ไม่มีคำใด ๆ "Fizz", "Buzz" หรือ "FizzBuzz"
- ไม่มีตัวเลข 3, 5 หรือ 15
- ใช้ข้อใดข้อหนึ่งในวิธีที่ทำให้เข้าใจผิด
ข้อควรจำ: เป้าหมายนั้นต้องสั้นและยากที่จะติดตาม
ตัวอย่างโค้ดที่เป็นแรงบันดาลใจของคำถามนี้เป็นดังนี้:
public class Default
{
enum FizzBuzz
{
Buzz = 1,
Fizz,
FizzBuzz
}
public static void Main(string[] args)
{
byte[] foo =
Convert.FromBase64String("IAmGMEiCIQySYAiDJBjCIAmGMEiCIQySYA==");
MemoryStream ms = new MemoryStream(foo);
byte[] myByte = new byte[1];
do
{
FizzBuzz fb;
ms.Read(myByte, 0, 1);
for (int i = 0; i < 4; i++)
{
fb = (FizzBuzz)(myByte[0] >> (2 * i)
& (int)FizzBuzz.FizzBuzz);
Console.Out.WriteLine( (((int)fb > 0) ? "" + fb : ""
+ ((ms.Position - 1) * 4 + i + 1)));
}
} while (ms.Position < ms.Length);
}
}