斐波那契数列(记忆化搜索)

第一个记忆化搜索,理解得差不多啦。贴下代码咯~

CODE:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include < string.h>
 4  using  namespace std;
 5 
 6  int FIB[ 1001];
 7 
 8  int fib( int n)
 9 {
10      int i;
11      if(n >  2return FIB[n] == - 1 ? FIB[n]=fib(n- 1)+fib(n- 2):FIB[n];
12      else  return  1;
13     
14 }
15 
16 
17  int main()
18 {
19      int n;
20     memset(FIB, - 1sizeof(FIB));
21     FIB[ 0] = FIB[ 1] =  1;
22      while(~scanf( " %d ", &n))
23     {
24         printf( " %d\n ", fib(n));
25     }
26      return  0;

27 } 

你可能感兴趣的:(搜索)