1. 程式人生 > >出棧的個數 遞迴解

出棧的個數 遞迴解

#include <iostream>

#include <stdio.h> 
using namespace std;
//n個不同的數進棧,出棧的個數為  卡特蘭數
//轉換一下式子; 
int f(int a,int b){
if(b==1)   return 2;
if(a==2)   return 2;
if(b==0)   return 1; 
    return f(a-1,b)+f(a-1,b-1);

int main(int argc, char** argv) {
//int n;
//scanf("%d",&n); 
//int ans=f(2*n,n);
for(int i=0;i<17;i++){
printf("%d ",f(2*i,i)/(i+1));
}

return 0;

}