C# Fibonacci Sequence

下面对于Fibonacci数列作基本介绍:

这里li代表fibonacc基本抽样数组名,n代表索引,C# Fibonacci数列迭代法,如:

Fibonacci基数列:1,1,2,3,5,8...

当n<=2时:Fibonacci(n)=1;

当n>2时:Fibonacci(n)=Fibonacci(n-1)+Fibonacci(n-2);

我们可以使用递归或者迭代等方法来进行算法编程,这里介绍迭代方法。

其他算法非递归方法也可以参照如下方式。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static List<int> li = new List<int> { 1, 1, 2, 3, 5, 8 };
        /// <summary>
        /// Get Fibonacci Number
        /// </summary>
        /// <param name="BaseFN">base number</param>
        /// <param name="len">titile</param>
        /// <returns></returns>
        static int FibonacciNumber(List<int> BaseFN, int len)
        {
            if (len <= 2)
                return 1;
            else if ((len - 1) <= li.Count)
            {
                len -= 1;
                return li[len - 1] + li[len - 2];
            }
            else
            {
                int baselen = li.Count; ;
                li.Add(li[baselen - 1] + li[baselen - 2]);
                return FibonacciNumber(li, len);
            }
        }
        static void Main(string[] args)
        {

            Console.WriteLine(FibonacciNumber(li,30).ToString());
            Console.ReadKey();
        }

    }
}

 

posted @ 2012-12-30 14:12  技术笔记2012  阅读(462)  评论(0编辑  收藏  举报