多重幂计数问题

  • 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;
}

你可能感兴趣的:(变量,括号)