我正在尝试编写一个迭代的加泰罗尼亚数字生成器,而不是一个递归的。它有效,但直到数字“10”,然后它开始打印出没有意义的数字。这是我到目前为止所拥有的。
public static long dpr1(int n)
{
long [] Array = new long[(2*n)+1];
Array[0]=1;
Array[1]=1;
int count=0;
long c=0;
for(int i = 2; i<=(2*n); i++){
Array[i]=(i)*(Array[i-1]);
count=i;
}
return(((Array[count])/(((Array[n]))*(Array[n])))/(n+1));
}
我一直在使用它作为主要测试它:
public class CatalanTest
{
public static void main(String[] args)
{
long startTime, endTime, result;
for (int n = 2; n < 18; n = n + 2)
{
System.out.println(Catalan.dpr1(n));
}}}
哪个返回
2
14
132
1430
16796
-2
97
0
哪些是 2 到 10 之间的偶数对应的加泰罗尼亚数字,但在那之后这些值没有多大意义,我不知道为什么。任何帮助解决这个问题将不胜感激。