问题标签 [catalan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
139 浏览

java - Java - 加泰罗尼亚数字程序的循环问题

我正在尝试编写一个程序,该程序从用户那里获取一个整数值 (n),然后调用我的 catalan numbers 方法并找到第 n 个值。除了两个错误之外,这一切都有效;首先,当我输入“退出”时,它会给出错误消息“线程“主”java.lang.NumberFormatException 中的异常:对于输入字符串:“退出”。其次,输出不断重复输入的第一个 ni 值的第 n 个值以及 n 的新值的答案。我很确定这是因为'System.out.println(i)'行但是我不知道如何修复它,所以它只显示了n当前值的答案。

这是我的代码:

任何帮助将不胜感激。

0 投票
1 回答
39 浏览

recursion - 如何递归确定二叉搜索树的数量?

在 1,...,n 的键集上确定不同二叉搜索树的数量的可能性是什么?

0 投票
1 回答
91 浏览

catalan - 使用组合的第 n 个加泰罗尼亚数字

我已经编写了一个 c++ 程序,通过使用组合来查找第 n 个加泰罗尼亚语数,但我总是得到输出 0。请指出此代码中的错误:

0 投票
1 回答
662 浏览

java - 在进行大量计算时提高性能 (BigInteger)

我是一个经验不足的编码员,我需要为每个单值计算两个加泰罗尼亚语序列的乘积,然后总结这些乘积。n05000

该代码当前输出正确的答案,但需要 2.9-3.3 秒才能运行n-value 为5000. 我的目标是让代码每次在 3 秒内运行,所以我需要获得大约半秒的时间。

计算中的最大数字 ( 10,000!) 超过35,000位数,因此int不能long用于任何较重的计算,也不能使用任何外部库,这几乎让我剩下BigInteger.

通过测试,我发现下面显示for-loopsum()内容是迄今为止完成时间最长的(约 85% 的运行时间),因此这可能是最需要提高性能的地方。任何关于如何优化它的提示都值得赞赏。

这是整个代码:

0 投票
1 回答
108 浏览

algorithm - 您如何计算矩阵链乘法的简单解决方案的运行时间?

我正在研究矩阵链乘法。并且朴素的解决方案相当于问题的加泰罗尼亚数。

这就是它在解决方案中所说的。通过将括号问题减少到二叉树,天真的解决方案最终成为 O(2^n)。然后计算给定输入的所有二叉树。

我只是不明白你是如何从括号矩阵链乘法到二叉树的。我自己永远也想不通。

0 投票
2 回答
625 浏览

python - 基本加泰罗尼亚语数字

我想编写一个程序,打印出所有小于或等于 100000 的加泰罗尼亚数字。

这些由cn=1cn1 = ((4n+2)/n+2)*cn(下一个值)给出。当我尝试它时,我收到以下错误。

我的代码是:

我的输出错误:

runfile('C:/Users/Admin/Desktop/cpy/ex_cat_numbe.py', wdir='C:/Users/Admin/Desktop/cpy') Traceback(最近一次通话最后):

文件“”,第 1 行,在 runfile('C:/Users/Admin/Desktop/cpy/ex_cat_numbe.py', wdir='C:/Users/Admin/Desktop/cpy')

文件“C:\Users\Admin\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 710 行,运行文件 execfile(文件名,命名空间)

文件“C:\Users\Admin\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 101 行,在 execfile exec(compile(f.read(), filename, 'exec') 中,命名空间)

文件“C:/Users/Admin/Desktop/cpy/ex_cat_numbe.py”,第 11 行,cn1 = ((4(n+2)/(n+2)))*cn

TypeError:“int”对象不可调用

0 投票
2 回答
103 浏览

java - 计算加泰罗尼亚数字序列时出错

无论我尝试了什么,下面ArithmeticException的代码都会抛出消息“非终止十进制扩展;没有精确的可表示的十进制结果。” 更大的数字(如 43、50、56 等)。

这是代码:

这种方法在小n数字上完美无瑕,但当涉及到更高的值时,它会崩溃。

0 投票
5 回答
461 浏览

r - R中加泰罗尼亚数的递归方法

我正在尝试在 R 中编写一个函数,该函数将接受输入numb并输出相应的加泰罗尼亚数字。供您参考,加泰罗尼亚数字的递归公式是,

我的代码如下,

当我运行该功能时,我得到,

哪个是对的。

目标:但是,我正在尝试查找加泰罗尼亚语的数字范围,我想找到类似的东西,catalan_num_recr(1:10).

问题:这不适用于我的功能,我收到以下警告,

还有很多错误的值作为输出,

有人可以帮我修改我的功能/或帮我解决问题吗?

问候。

0 投票
1 回答
1522 浏览

c - C 编程数字和山脉

我创建了一个 C 程序,它给出了第 n 个加泰罗尼亚语数字。到目前为止一切正常。这里是:

然后我发现了这个“经典”山脉问题,图中所有可能的山脉:http: //www.maths.usyd.edu.au/u/kooc/catalan/cat3moun.pdf

这是源值较小的“山脉”的样子n 在此处输入图像描述

我的目标是能够创建一个程序:

  1. 一旦你给他们这个数字,你就可以选择“山顶”的数量(<= number)

  2. 该程序将计算(给定数量的)有多少不同的山脉具有该数量的山顶。

通过pdf文件,我知道:

  1. number n = 3 & “mountain tops” = 2 -> 有 3 个(总共 5 个)山脉,有 2 个山顶(都是不同的山“类型”)。

  2. 数字 n = 4 & “山顶” = 3 -> 6 个不同的山脉。

我的问题是,做这项工作的最佳方法是什么?有什么公式吗?我想过帕斯卡三角形和斐波那契数列,但我没有发现它们之间有任何关系。我想知道什么是可能的解决方案。任何帮助都将得到真正的赞赏。谢谢。

0 投票
1 回答
118 浏览

c - 可以用尾递归在C中制作一个加泰罗尼亚数字吗?

我有验证的工作,如果可以通过尾递归计算加泰罗尼亚数,我可以使用定义使用堆栈递归进行计算,但我不能通过尾递归来计算