- Description
设给定n个变量x1,x2,…,xn。将这些变量依序作底和各层幂,可得n重幂如下
这里将上述n重幂看作是不确定的,当在其中加入适当的括号后,才能成为一个确定的n重幂。不同的加括号方式导致不同的n重幂。例如,当n=4时,全部4重幂有5个。
对n个变量计算出有多少个不同的n重幂。
- Input
输入有多行,每一行提供一个数n。
- Output
输出多行。对于输入中每一行,在一行中输出不同n重幂的数目。
- Sample Input
4
- Sample Output
5
#include<iostream>
using namespace std;
int main()
{
int i,j,n;
__int64 ans[30]={1,1,0};
for(i=2;i<=29;i++)
{
for(j=1;j<=i-1;j++)
ans[i]+=ans[j]*ans[i-j];
}
while(scanf("%d",&n)!=EOF)
{printf("%I64d\n",ans[n]);}
return 0;
}