hdu 2070 递归Fibbonacci Number

#include <stdio.h>
#include <string.h>
int main()

    __int64 a[51]; 
    int n,i; 
    a[0]=0;
 a[1]=1; 
    for(i=2;i<=50;++i) 
  a[i]=a[i-1]+a[i-2]; 
    while(scanf("%d",&n),n!=-1)  
  printf("%I64d\n",a[n]);  
    return 0; 
}

嗯,很郁闷,不知道下面这个为什么不行

#include<stdio.h>
int fib(int n)
{
 if(n<=1)
  return n;
 if(n<=4)
  return n-1;
 if(n==5)
  return n;

 return fib(n-5)*8+fib(n-6)*5;
}
int main()
{
 int n;
 while(scanf("%d",&n)!=EOF)
 {
  if(n < 0)break;
  printf("%d\n",fib(n));
 }
 return 0;
}

 

你可能感兴趣的:(hdu 2070 递归Fibbonacci Number)