// 购票排队递归设计
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. ",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. ",m,n,f[m][n]);
}