Cree la implementación de FizzBuzz ofuscada más corta posible.
Para ser considerado ofuscado, debe satisfacer al menos uno de los siguientes:
- No contiene ninguna de las palabras "Fizz", "Buzz" o "FizzBuzz"
- No contiene los números 3, 5 o 15.
- Utilice cualquiera de los anteriores de manera engañosa.
Recuerde: el objetivo es ser corto y difícil de seguir.
El ejemplo de código que inspiró esta pregunta es el siguiente:
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);
}
}