昔FizzBuzz問題なんてモノが流行ったようで

へ~ (-。-)y-゜゜゜

こんなモンを尺度に書ける or 書けないなんて決められてもねぇ。

じゃあ FizzBuzz 問題なんてことすら知らずにプログラム書いてた私はなんて

"ザコ"扱い? 「ザクとは違うのだよ... ザクとは」

求められるものによってコードだって変わるからね。

剰余記号は使わないとか、ワンライナーで、なんてことは既に誰かがやっていると思われ、独自に条件を課して実現してみる。

再帰とdelegateを使用して簡潔に書く

delegate void Exec(int n, Exec callback);
static void Main(string[] a)
{
    Func<int, int, bool> isFB = (x, y) => { return x % y == 0; };

    Exec exec = (int n, Exec callback) =>
    {
        Console.WriteLine(
            isFB(n, 15) ? "FizzBuzz" :
            isFB(n, 5) ? "Buzz" :
            isFB(n, 3) ? "Fizz" : n + ""
        );

        if (++n <= 100) callback(n, callback);
    };

    exec(1, exec);
}

何やってるかニュアンスが伝わりやすいかな… と。

でも、これ書くのに2分以上かかってしまった。

フッ... 私はラルにも成りきれないのか...

0 Comments:

Sony Style(ソニースタイル)
デル株式会社

Recent Posts