タグ

ブックマーク / yone64.wordpress.com (2)

  • LINQ で LifeGame

    上記表のとおり実装したところ、NextGenerationメソッド内部ですが、こんな感じになりました。 うん、LINQっぽい。 public static World NextGeneration(this World world) { var lifes = world.SelectMany(life => from x in Enumerable.Range(-1, 3) from y in Enumerable.Range(-1, 3) select new { X = life.X + x, Y = life.Y + y, Score = x == 0 && y == 0 ? 0.5 : 1 }) .GroupBy(s => new { s.X, s.Y }) .Select(g => new { X = g.Key.X, Y = g.Key.Y, Score = g.Sum(a

    LINQ で LifeGame
  • C# Advent Calendar で 覆面算

    この記事は、「C# Advent Calendar 2011」の22日目の記事です。 さて、勢いで申し込んだものの人様に披露するに適当なTipsもないので困りもの。 で、いろいろ悩んでいるときに、ふと気づきました。C# Advent Calendarって10文字種! ってことは覆面算をC#で解くか、それで行こう。 C# 〇 ADVENT 〇 CALENDAR = 2011 〇に適切な演算子を入れて覆面算に仕立て上げればOK。って、プログラムを組むまでもなく、解なしですよね。 では、 C# 〇 ADVENT 〇 CALENDAR = 20111222 なら、どうだろう。可能性はあるかもしれない。というわけで、チャレンジです。 前回、小町数を作成した時はAggregateを使ったんですが、今回はneueさんの記事を参考に作ってみました。 覆面算なら、こっちのほうがわかりやすいですね。 var

    C# Advent Calendar で 覆面算
  • 1