首页 > 代码库 > 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:

wKioL1R4K_ag86DkAADnwwnRBpg639.jpg


C#递归算法实现 Fibonacci数列