//递归
int fibonacci(int n){
if(n<1) return 0;
if(n==1||n==2) return 1;
return fibonacci(n-1)+fibonacci(n-2);
}
//递归
int fibonaccirecur(int n){
int f0=0,f1=1;
if(n==0||n==1) return n;
int i,f;
for(i=2;i<=n;i++){
f=f0+f1;
f0=f1;
f1=f;
}
return f;
}
int main () {
printf("递归:Fib(%d)=%d\n",0,fibonacci(0));
printf("递归:Fib(%d)=%d\n",1,fibonacci(1));
printf("递归:Fib(%d)=%d\n",2,fibonacci(2));
printf("递归:Fib(%d)=%d\n",3,fibonacci(3));
printf("递归:Fib(%d)=%d\n\n",7,fibonacci(7));
printf("递推:Fib(%d)=%d\n",0,fibonaccirecur(0));
printf("递推:Fib(%d)=%d\n",1,fibonaccirecur(1));
printf("递推:Fib(%d)=%d\n",2,fibonaccirecur(2));
printf("递推:Fib(%d)=%d\n",3,fibonaccirecur(3));
printf("递推:Fib(%d)=%d\n",7,fibonaccirecur(7));
return 0;
}