2009年9月19日土曜日

フィボナッチ数列

Linqから使用しやすい数列を作成する勉強第1弾。
今更ながらなLinqなのですが、.NET Framework3.5はまだ仕事で使えない(※)ので、まだまだ詳しくありません。
ちょっとずつ勉強予定です。

  1. public static IEnumerable<decimal> Fibonacci()  
  2. {  
  3.     decimal previous = 0M;  
  4.     decimal current = 1M;  
  5.     while (true)  
  6.     {  
  7.         yield return current;  
  8.         current += previous;  
  9.         previous = current - previous;  
  10.     }  
  11. }  

として、

  1. var fs = from f in EnumerableUtil.Fibonacci()  
  2.         where f % 3 == 0  
  3.         select f;  
  4.     foreach (var item in fs)  
  5.     {  
  6.         Console.WriteLine(item);  
  7.     }  

こんな感じかね。

※Windows2000上で、.NET Framework3.5が動かないからなぁ。

0 件のコメント: