C#递归算法请教?
一列数的规则如下:   1、1、2、3、5、8 
 static   void   Main(string[]   args) 
                         { 
                                     Console.WriteLine(Foo(5)); 
                                     Console.WriteLine( "OK "); 
                         } 
                         public   static   int   Foo(int   i) 
                         { 
                                     if   (i    <   3)   return   1;          
                                     else   return   Foo(i   -   1)   +   Foo(i   -   2); 
                         }       
 程序运行结果是5 ,请问程序是怎样得出结果5?? 
 我用VS2005一步步执行,也看不明白,结果是怎样得来的? 
 麻烦大家给出递归运行过程?
------解决方案--------------------*Foo(5) 
 Foo(5)=Foo(4)+Foo(3) 
  *Foo(4) 
  Foo(4)=Foo(3)+Foo(2) 
   *Foo(3) 
   Foo(3)=Foo(2)+Foo(1) 
    *Foo(2) 
    Foo(2)=1 
    *Foo(1) 
    Foo(1)=1 
   *Foo(2) 
   Foo(2)=1 
  *Foo(3) 
  Foo(3)=Foo(2)+Foo(1) 
   *Foo(2) 
   Foo(2)=1 
   *Foo(1) 
   Foo(1)=1