へ~ (-。-)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:
コメントを投稿