C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2007/11/13 01:34
ふと突然思いついたコードがすんなり通ってかなり嬉しいwww
長さは 64 文字です

1..100|%{@("Fizz")[$_%3]+@("Buzz")[$_%5]+@($_)[!($_%3-and$_%5)]}



# 追記(2007/11/13)

57 文字まで短縮しました。

1..100|%{$s=@("Fizz")[$_%3]+@("Buzz")[$_%5];($s,$_)[!$s]}


# 追記ここまで


ネタ元 : FizzBuzz 問題 を PowerShell で ( 囚人のジレンマな日々 )
スポンサーサイト



タグ: .NET PowerShell FizzBuzz
2007/09/22 23:29
anarchy golf - FizzBuzz

C# の最短コードは 123 文字です。たぶんこれ以上短くはできないと思われます。
これがそのコードになります。

class P{static void Main(){for(int i=0;i++<100;)System.Console.WriteLine((i%3<1?"Fizz":"")+(i%5<1?"Buzz":i%3<1?"":i+""));}}



改行とスペースを入れて見やすくするとこんな感じです。

class P
{
    static void Main()
    {
        for (int i = 0; i++ < 100; )
            System.Console.WriteLine((i % 3 < 1 ? "Fizz" : "") + (i % 5 < 1 ? "Buzz" : i % 3 < 1 ? "" : i + ""));
    }
}


最大のポイントは、やはり WriteLine メソッドの引数です。あと、for 文の書き方もポイントですね。普段こんな書き方してたら、怒られても文句言えませんけど ( 笑 )
タグ: .NET C# FizzBuzz