排队购票

// 购票排队递归设计  

long f(int j,int i)

{long y;

 if(i==0) y=1;

 else if(j<i) y=0;           // 确定初始条件  

 else y=f(j-1,i)+f(j,i-1);   //  实施递归  

 return(y);

}

#include<stdio.h>

void main()

{int m,n;

 printf(" input m,n: "); scanf("%d,%d",&m,&n);

 printf("  f(%d,%d)=%ld.\n",m,n,f(m,n));

 }

 

// 购票排队递推设计  

#include<stdio.h>

void main()

{int m,n,i,j;

 long f[100][100];

 printf(" input m,n: "); scanf("%d,%d",&m,&n);

 for(j=1;j<=m;j++)                   

     f[j][0]=1;

 for(j=0;j<=m;j++)                   // 确定初始条件

 for(i=j+1;i<=n;i++)

     f[j][i]=0;

 for(i=1;i<=n;i++)

 for(j=i;j<=m;j++)

     f[j][i]=f[j-1][i]+f[j][i-1];   //  实施递推  

 printf("  f(%d,%d)=%ld.\n",m,n,f[m][n]);

 }

posted on 2017-11-20 23:07  小星_log  阅读(167)  评论(0编辑  收藏  举报