斐波那契数列的求值问题

斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……,从数列的第3项开始,每一项都是前2项的和,即F(n)=F(n-1)+F(n-2)(n>2)。

本文讨论从0开始的斐波那契数列。

常见斐波那契数列的求值:

1.求斐波那契数列的第n项的值

        static void Main(string[] args)
        {
            Console.WriteLine("第30项的值为:"+Fab(30));
            Console.ReadKey();
        }
        static int Fab(int n)
        {
            if (n == 1) return 0;
if (n == 2) return 1; return Fab(n - 1) + Fab(n - 2); }

   第1项是0,第2项是1,从第3项开始每一项都是前2项的和。

2.求斐波那契数列的前n项

        static void Main(string[] args)
        {
            int a = 0, b = 1;
            for (int i = 0; i < 10; i++)
            {
                int temp = a;
                a = b;
                b = temp + b;
                Console.Write(temp + " ");
            }
            Console.ReadKey();
        }

        每一次交换产生的中间变量temp即为数列的一个元素。

3.求斐波那契数列的前n项和

        static void Main(string[] args)
        {
            int a = 0, b = 1, total = 0;
            for (int i = 0; i < 30; i++)
            {
                int temp = a;
                a = b;
                b = temp + b;
                total += temp;
            }
            Console.WriteLine("前30项和为:" + total);
            Console.ReadKey();
        }

 

   

posted @ 2013-07-16 17:32  nocture  阅读(497)  评论(0编辑  收藏  举报