長さは 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 で ( 囚人のジレンマな日々 )
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 文の書き方もポイントですね。普段こんな書き方してたら、怒られても文句言えませんけど ( 笑 )