码迷,mamicode.com
首页 > 编程语言 > 详细

C#递归算法实现 Fibonacci数列

时间:2014-11-28 18:33:35      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:fibonacci 数列 递归算法 c#

    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:

bubuko.com,布布扣


C#递归算法实现 Fibonacci数列

标签:fibonacci 数列 递归算法 c#

原文地址:http://asheng0321.blog.51cto.com/2570211/1584058

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!