首页 > 代码库 > C#递归算法实现 Fibonacci数列
C#递归算法实现 Fibonacci数列
C#递归算法实现 Fibonacci数列
著名的Fibonacci数列,定义如下:
f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2),n>2
用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契系数就由之前的两数相加。首几个斐波那契系数是:
0, 1, 1, 2, 3, 5, 8, 13, 21
使用两种方法实现斐波那契数列,其中一个用到了递归循环。
C# 代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Fibonacci { class Program { /// <summary> /// C#递归算法实现 Fibonacci数列 /// 著名的Fibonacci数列,定义如下 /// f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2),n>2 /// 用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契系数就由之前的两数相加。首几个斐波那契系数是: /// 1, 1, 2, 3, 5, 8, 13, 21 /// </summary> /// <param name="args"></param> /// public const int MAXN = 64; static int[] fib = new int[MAXN]; static void Main(string[] args) { /****第一种方法 int count, n, t1=0, t2=1, display; Console.Write("Enter number of terms: "); n = Int32.Parse(Console.ReadLine()); Console.Write("\nFibonacci Series: {0} {1} ", t1, t2); count = 2; while (count <= n) { display = t1 + t2; t1 = t2; t2 = display; ++count; Console.Write("{0} ", display); } */ Console.Write("\n " ); //*****第二种方法,使用递归循环解决 int[] fi=new int[20]; //Fibonacci f = new Fibonacci(); for(int i=0;i<8;i++){ fi[i] = fibonacci_Series(i); //System.out.print(fi[i]+"\t"); Console.Write(fi[i] + "\t"); } Console.ReadLine(); } static int fibonacci_Series(int n) { if (n == 0) return 0; else if (n == 1) return 1; else return fibonacci_Series(n-1) + fibonacci_Series(n-2); } } }
Resutl:
C#递归算法实现 Fibonacci数列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。