[C#] 费氏数列解法

费式数列的特性式是后面的数字等于前面2个数字的加总

例如,0,1,1,2,3,5,8

一种是用递迴方式如下

 static void Main(string[] args)    {        int number = 6;        for (int i = 1; i <= number; i++)        {            Console.WriteLine(Fibonacc(i).ToString());        }    }      private static int Fibonacc(int n)  {      if (n == 0) return 0;      if (n == 1 || n == 2) return 1;      return Fibonacc(n - 1) + Fibonacc(n - 2);  }

另外一种是单纯 for 迴圈的暴力解法

 static void Main(string[] args){    int number = 6;    for (int i = 1; i <= number; i++)    {        Console.WriteLine(Fibonacc2(i).ToString());    }}    /// <summary>    /// 费氏数列 0,1,1,2,3,5,8.    /// </summary>    /// <param name="n"></param>    /// <returns></returns>    private static int Fibonacc2(int n)    {        if (n == 0) return 0;        if (n == 1 || n == 2) return 1;        int prev = 1;        int curr = 1;        for (int i = 3; i <= n; i++)        {            int sum = prev + curr;            prev = curr;            curr = sum;        }        return curr;    }

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章