首页 > 代码库 > 动态规划DP----ppt

动态规划DP----ppt

 

 

#include <stdio.h>int fib(int n){if(n<=1) return 1;else return fib(n-1)+fib(n-2);}int main( ){int n;scanf("%d",&n);printf("%d\n" ,fib(n) );}
View Code

 

 

#include <stdio.h>int fib(int n){    if(n<=1)     return 1;    else         return fib(n-1)+fib(n-2);}int main( ){    int n;    while(scanf("%d",&n))    printf("%d\n" ,fib(n) );}
View Code

 

 

 

 

 

 

230=(2103====109


 

240=(210)4====1012                        250===1015


 

 

2的10次方是1024
2的46次方是1024的5次方除以2的4次方=70368744177664.00=======1013

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#include <stdio.h>#define MAX 50+1int 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 ) );}
View Code

 

 

#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);    // 如果a[n]==-1  ,,,没算过

                 else                     return a[n];      

 }

 

int main( )

{

int i,n;

for(i=1; i<MAX; i++)          a[i]=-1;                          //做记号 ,,,所有元素   初值  -1

a[0]=a[1]=1;                                                       // 赋值,,初始化,,,,已知条件

scanf("%d",&n);

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