斐波那契序列:f(0)=0; f(1)=1; f(n)=f(n-1)+f(n-2);
非递归:
#include <iostream>
using namespace std;
long long Fibo(unsigned n)
{
int result[]={0,1};
if(n<2)
return result[n];
long long a=1;
long long b=0;
long long c=0;
for(unsigned int i=2;i<=n;++i)
{
c=a+b;
b=a;
a=c;
}
return c;
}
int main()
{
cout<<Fibo(0)<<endl;
cout<<Fibo(1)<<endl;
cout<<Fibo(2)<<endl;
cout<<Fibo(3)<<endl;
cout<<Fibo(4)<<endl;
cout<<Fibo(5)<<endl;
cout<<Fibo(6);
return 0;
}
递归:
#include <iostream>
using namespace std;
long long Fibo(unsigned n)
{
if(n==0)
return 0;
if(n==1)
return 1;
if(n>1)
return Fibo(n-1)+Fibo(n-2);
}
int main()
{
cout<<Fibo(0)<<endl;
cout<<Fibo(1)<<endl;
cout<<Fibo(2)<<endl;
cout<<Fibo(3)<<endl;
cout<<Fibo(4)<<endl;
cout<<Fibo(5)<<endl;
cout<<Fibo(6);
return 0;
}