递归vs循环

递归VS循环

求第三位数前2位之和 ,一列数的规则如下: 1、1、2、3

 class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {

                int position = Convert.ToInt32(Console.ReadLine());
                Console.Write("for循环:");
                Console.WriteLine(GetFooValueFor(position));
                Console.Write("递归算法:");
                Console.WriteLine(GetFooValueDiGui(position));

            }

        }
        static long GetFooValueDiGui(int position) 
        {  
            long reslut = 1;
        if (position < 3)
        {
            return reslut;
        }
        else
        {
            return GetFooValueDiGui(position - 1) + GetFooValueDiGui(position - 2);
        }    
        }
        static long GetFooValueFor(int position) 
        {
          long reslut = 1;
          if (position < 3)
          {
              return reslut;
          }
          else
          {
              long first = 1;
              long second = 1;
              for (int index = 3; index <= position; index++)
              {
                  reslut = first + second;
                  first = second;
                  second = reslut;
              }
          }
          return reslut;
        }
    }
}