递归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;
        }
    }
}

转载请注明: Zhou•Yong 递归VS循环

上一篇
反射 反射
反射定义一个类,并且生成dllusing System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ClassLib
2019-01-15
下一篇
多线程 多线程
多线程 C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为“主线程”)自动创建的,并具有多线程创建额外的线程。 进程 Proces
2019-01-15
目录