代码如下:
代码如下:
package sf_03;
public class Main {
/*
* a:等待进栈的车辆数。
* b:栈中的个数
*/
static int g(int a,int b){
//左面没有车辆入栈了
if(a==0) return 1;
//栈中为空,唯一能够做的是将左边的一辆车开入栈中
if(b==0) return g(a-1,1);
return g(a-1,b+1)+g(a,b-1);
}
static int f(int n){
/*
*给一个状态能够代表当前车辆的状态。
*参数一: 栈外有几辆车等待着入栈;
*参数二:栈中有几辆车。
*车辆从栈中开出后就不受控制了。
*/
return g(n,0);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1;i<17;i++){
System.out.println(i+":"+f(i));
}
}
}
运行结果: