ppt Fibonacii数列的第n项------记忆式搜索

#include <stdio.h>
#define MAX 50+1
int a[MAX];
int fib(int n)
{

   if (a[n]==-1)     return   a[n]=fib(n-1)+fib(n-2);
           else          return   a[n];
}
int main( )
{

int i,n;
for(i=1; i<MAX; i++)
a[i]=-1;
a[0]=a[1]=1;
scanf("%d",&n);
printf("%d\n" ,fib( n ) );
}

 


*******************************************************************

#include <stdio.h>
#define MAX 50+1
int a[MAX];
int fib(int n)
{

if (a[n]!=-1)          a[0]=a[1]=1;
if (a[n]==-1)     return a[n]=fib(n-1)+fib(n-2);
       else            return a[n];
}
int main( )
{ int i,n;
for(i=1; i<MAX; i++)
a[i]=-1;

scanf("%d",&n);
printf("%d\n" ,fib( n ) );
}

 

 

posted @ 2014-08-12 17:36  2014acm  阅读(138)  评论(0编辑  收藏  举报