兔子数列
#include <iostream>
using namespace std;
int fib_1(int n)
{
if(n<1)
return -1;
if(n==1 | n==2)
return 1;
return fib_1(n-1)+fib_1(n-2);
}
int fib_2(int n)
{
if(n<1)
return -1;
int *a = new int [n+1];
a[1] = 1;
a[2] = 1;
for(int i= 3;i<=n;i++)
a[i]=a[i-1]+a[i-2];
return a[n];
}
int fib_3(int n)
{
if(n<1)
return -1;
if(n==1 | n==2)
return 1;
int s1 = 1;
int s2 = 1;
for(int i=3;i<=n;i++)
{
s2 = s1+s2;
s1 = s2-s1;
}
return s2;
}
int main()
{
cout << "Hello World!" << endl;
int test = 12;
cout << "fib_1 the result is " <<fib_1(test)<<endl;
cout << "fib_2 the result is " <<fib_2(test)<<endl;
cout << "fib_2 the result is " <<fib_3(test)<<endl;
return 0;
}