您好所有强大的黑客、数学家和编码员!
我努力为下面的加泰罗尼亚数字方程创建一个递归算法
C(n) =∑ C(i−1) C(n−i) (并且不能使用斯特林数或其他形式来简化这个方程。)
到目前为止,这是递归算法:
int Cval[1024];//1024 just for example
int C( int n )
{
if( Cval[n] ) != 1 ) return Cval[n];
int ans = 0;
if( n == 0 ) ans = 1;
for( int i = 1; i <= n; i++ )
ans += C( i - 1 ) * C( n - i );
return Cval[n] = ans;
}
int main()
{
for( int i = 0; i < 1024; i++ ) Cval[i] = 1;
// call C(n) for any n up to 1023
}
现在,我正在尝试将其转换为迭代算法。我需要您的宝贵帮助;)有什么想法吗?