14得票3回答
在JavaScript中找到第i个排列

给定一个大小为 n 的数组 arr 和一个下标 0<=i<n!,我想返回第 i 个排列。 我已经编写了一个可以获取所有排列的方法:function permute (arr) { var permutations = []; if (arr.length === 1) {...

18得票22回答
22得票5回答
为什么在Haskell中计算阶乘比在Java中快得多

我遇到的编程问题之一涉及到计算大数(最多10^5位数)的阶乘。我见过一个简单的Haskell代码,如下所示:factorial :: (Eq x, Num x) => x -> x factorial 0 = 1 factorial a = a * factorial (a - 1...

8得票6回答
如何使用库调用在C#中计算阶乘?

我需要计算到大约100!的数字的阶乘,以确定一系列类似抛硬币的数据是否随机,如贝叶斯概率的维基百科中所述。正如您在那里看到的,必要的公式涉及3个阶乘计算(但是有趣的是,在第三个阶乘计算的过程中,其中两个阶乘计算已经被计算了)。 我看到了这个问题,但我认为整数很快就会被耗尽。我也可以创建一个更...

7得票5回答
为什么阶乘递归函数比普通的阶乘函数效率低?

我有两个计算数字n的阶乘的函数。 我不明白为什么“正常”的函数需要更少的时间来计算数字n的阶乘。 这是正常的函数: double factorial(int n) { double s = 1; while (n > 1) { s *= n; ...

7得票1回答
我该如何调整我的fa.diagram函数以解决重叠的问题?

我想调整函数的参数,以使项目不重叠。 我尝试更改rsize,e.size和gap.size,但没有效果。 有什么想法吗?

7得票11回答
如何在Python中计算双阶乘?

我在这个问题上卡了很长时间。我已经成功地完成了一个递归阶乘。 def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) 双阶乘 对于一个偶数n,其双阶...

9得票1回答
(n-1)!能否被n整除的快速方法是什么?

我知道通常的方法是迭代地找到n-1的阶乘,然后检查。但这样的时间复杂度为O(n),对于大的n来说需要太多的时间。有没有其他的方法?

10得票6回答
如何编写一个计算带小数阶乘的函数?

如何在JavaScript中编写一个可以计算十进制数阶乘(或伽马函数)的函数?例如,我应该如何计算2.33!?

29得票3回答
C#: 使用Lambda的递归函数

以下代码无法编译:Func<int, int> fac = n => (n <= 1) ? 1 : n * fac(n - 1); 本地变量“fac”在访问之前可能未初始化 如何使用lambda创建递归函数? [更新] 这里还有两个我觉得很有趣的链接: ...