问题标签 [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.
java - Java - 加泰罗尼亚数字程序的循环问题
我正在尝试编写一个程序,该程序从用户那里获取一个整数值 (n),然后调用我的 catalan numbers 方法并找到第 n 个值。除了两个错误之外,这一切都有效;首先,当我输入“退出”时,它会给出错误消息“线程“主”java.lang.NumberFormatException 中的异常:对于输入字符串:“退出”。其次,输出不断重复输入的第一个 ni 值的第 n 个值以及 n 的新值的答案。我很确定这是因为'System.out.println(i)'行但是我不知道如何修复它,所以它只显示了n当前值的答案。
这是我的代码:
任何帮助将不胜感激。
recursion - 如何递归确定二叉搜索树的数量?
在 1,...,n 的键集上确定不同二叉搜索树的数量的可能性是什么?
catalan - 使用组合的第 n 个加泰罗尼亚数字
我已经编写了一个 c++ 程序,通过使用组合来查找第 n 个加泰罗尼亚语数,但我总是得到输出 0。请指出此代码中的错误:
java - 在进行大量计算时提高性能 (BigInteger)
我是一个经验不足的编码员,我需要为每个单值计算两个加泰罗尼亚语序列的乘积,然后总结这些乘积。n
0
5000
该代码当前输出正确的答案,但需要 2.9-3.3 秒才能运行n
-value 为5000
. 我的目标是让代码每次在 3 秒内运行,所以我需要获得大约半秒的时间。
计算中的最大数字 ( 10,000!
) 超过35,000
位数,因此int
不能long
用于任何较重的计算,也不能使用任何外部库,这几乎让我剩下BigInteger
.
通过测试,我发现下面显示for-loop
的sum()
内容是迄今为止完成时间最长的(约 85% 的运行时间),因此这可能是最需要提高性能的地方。任何关于如何优化它的提示都值得赞赏。
这是整个代码:
algorithm - 您如何计算矩阵链乘法的简单解决方案的运行时间?
我正在研究矩阵链乘法。并且朴素的解决方案相当于问题的加泰罗尼亚数。
这就是它在解决方案中所说的。通过将括号问题减少到二叉树,天真的解决方案最终成为 O(2^n)。然后计算给定输入的所有二叉树。
我只是不明白你是如何从括号矩阵链乘法到二叉树的。我自己永远也想不通。
python - 基本加泰罗尼亚语数字
我想编写一个程序,打印出所有小于或等于 100000 的加泰罗尼亚数字。
这些由cn=1
和cn1 = ((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”对象不可调用
java - 计算加泰罗尼亚数字序列时出错
无论我尝试了什么,下面ArithmeticException
的代码都会抛出消息“非终止十进制扩展;没有精确的可表示的十进制结果。” 更大的数字(如 43、50、56 等)。
这是代码:
这种方法在小n
数字上完美无瑕,但当涉及到更高的值时,它会崩溃。
r - R中加泰罗尼亚数的递归方法
我正在尝试在 R 中编写一个函数,该函数将接受输入numb
并输出相应的加泰罗尼亚数字。供您参考,加泰罗尼亚数字的递归公式是,
我的代码如下,
当我运行该功能时,我得到,
哪个是对的。
目标:但是,我正在尝试查找加泰罗尼亚语的数字范围,我想找到类似的东西,catalan_num_recr(1:10)
.
问题:这不适用于我的功能,我收到以下警告,
还有很多错误的值作为输出,
有人可以帮我修改我的功能/或帮我解决问题吗?
问候。
c - C 编程数字和山脉
我创建了一个 C 程序,它给出了第 n 个加泰罗尼亚语数字。到目前为止一切正常。这里是:
然后我发现了这个“经典”山脉问题,图中所有可能的山脉:http: //www.maths.usyd.edu.au/u/kooc/catalan/cat3moun.pdf
这是源值较小的“山脉”的样子n
我的目标是能够创建一个程序:
一旦你给他们这个数字,你就可以选择“山顶”的数量(<= number)
该程序将计算(给定数量的)有多少不同的山脉具有该数量的山顶。
通过pdf文件,我知道:
number n = 3 & “mountain tops” = 2 -> 有 3 个(总共 5 个)山脉,有 2 个山顶(都是不同的山“类型”)。
数字 n = 4 & “山顶” = 3 -> 6 个不同的山脉。
我的问题是,做这项工作的最佳方法是什么?有什么公式吗?我想过帕斯卡三角形和斐波那契数列,但我没有发现它们之间有任何关系。我想知道什么是可能的解决方案。任何帮助都将得到真正的赞赏。谢谢。
c - 可以用尾递归在C中制作一个加泰罗尼亚数字吗?
我有验证的工作,如果可以通过尾递归计算加泰罗尼亚数,我可以使用定义使用堆栈递归进行计算,但我不能通过尾递归来计算