【100题】第十九题(斐波那楔数列)

一,题目:输入n用最快的方法求Fibonacci数列的第n项。

二,定义:Fibonacci数列如下:  

 0                        n=0
f(n)= 1                n=1,2
f(n-1)+f(n-2)       n>2

//0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 9871597..........
三,分析:
注意,当求第100项,甚至更大的项时,请确保你用什么类型,长整型?orlong long int存储。
不然,计算机,将得不到结果。所以选择的数据类型是关键。

四,源码:

#include <iostream>
using namespace std;

long long  Fibonacci(int n)
{
    if(n>=0)
  {

    if(0==n)
       return 0;
    else if(1==n||2==n)
        return 1;
    else
        return  Fibonacci(n-1)+Fibonacci(n-2);
   }
}

int main()
{
  for(int i=0;i<10;i++)
    cout<<Fibonacci(i)<<endl;

   return 0;
}

posted @ 2012-02-25 22:42  MXi4oyu  阅读(242)  评论(0编辑  收藏  举报