该题主要考查的是组合数学中的卡塔兰数,关于卡塔兰数网上有很多讲解,这里不再赘述,不懂的童鞋可以网上搜一下,废话不多说,直接上代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,m=1;
long long a[36]={1,1};
for(int i=2;i<36;i++)
{
a[i] = 0;
for(int j=0;j<i;j++)
a[i] += a[j] * a[i-j-1];
}
while(scanf("%d",&n) && n!= -1)
{
printf("%d %d %lld\n",m++,n, a[n]*2);
}
return 0;
}