#include <stdio.h>
int Fibonacci1(int n){
if (n < 1)
{
return 0;
}
if (n == 1)
{
return 1;
}
if (n == 2)
{
return 1;
}
return Fibonacci1(n - 1) + Fibonacci1(n - 2);
}
int Fibonacci2(int n){
if (n==0)
{
return 0;
}
if (n == 1)
{
return 1;
}
if (n == 2)
{
return 1;
}
int methods = 0;
int pre = 1;
int prepre = 0;
int step = 2;
for (; step < n + 1; step++)
{
methods = prepre + pre;
prepre = pre;
pre = methods;
}
return methods;
}
int main () {
printf("递归算法测试\n");
printf("%d \n",Fibonacci1(4)) ;
printf("%d \n",Fibonacci1(5)) ;
printf("%d \n",Fibonacci1(6)) ;
printf("=======================\n");
printf("递推算法测试\n");
printf("%d \n",Fibonacci2(4)) ;
printf("%d \n",Fibonacci2(5)) ;
printf("%d \n",Fibonacci2(6)) ;
return 0;
}