Tag: factorial

在c#中使用非常大的整数

有没有人知道我可以用c#计算非常大的整数的方法 我试图计算数字的阶乘,例如 5! = 5 * 4 * 3 * 2 * 1 = 120 使用小数字这不是问题,但是尝试计算unsigned int的bigest值的阶乘,这似乎是4,294,967,295,这似乎是不可能的。 我已经查看了BigInteger类但它似乎没有做我需要的东西 任何帮助将不胜感激

因子方法导致错误

我试图得到数字66的阶乘值,但我的方法导致输出0 。 但每当我试图得到5的阶乘时,它就会产生120输出。 谁能告诉我为什么? public static int factorial(int n) { if (n == 1) return n; return n * factorial(n – 1); }

C#:用于尽可能高效地将大量文件放入DVD的代码

我需要编写一个应用程序,它将获取一个文件列表(一些大的,一些小的),并尽可能高效地将它们放到DVD(或CD或其他)上。 本应用的重点是在移动到第二张光盘之前尽可能多地使用第一张光盘,在移动到第三张光盘之前尽可能多地填充第二张光盘,等等。 (注意:应用程序不必对DVD进行实际刻录,只需要找出最合适的效果)。 我最初认为我有一个很好的游戏计划,通过生成文件的排列,然后检查每个组合,看看什么是最合适的。 (我的求助请求可以在这里找到) 但是文件越多,所需的时间就越长……指数级。 所以我希望你对如何最好地实现这一点有一些看法。 有任何想法吗? 而且,一如既往,C#代码总是受到赞赏。

如何使用库调用计算C#中的阶乘?

我需要计算高达100左右的数字因子! 为了确定一系列硬币翻转式数据是否是随机的,根据贝叶斯概率的维基百科条目。 正如你在那里看到的那样,必要的公式涉及3个因子计算(但是,有趣的是,这些因子计算中的两个是沿着第三个计算的方式计算的)。 我在这里看到了这个问题 ,但我认为整数很快就会被吹灭。 我还可以创建一个更有智能的因子计算function(即,如果我有11!/(7!3!),根据维基示例,我可以去(11 * 10 * 9 * 8)/ 3!),但这对我来说过早优化,在某种意义上我希望它能够工作,但我并不关心速度(还)。 那么,为了获得这个概率,我可以调用什么样的C#库来计算阶乘? 我对所有可以进入阶乘计算的可怕性感兴趣,我只想以一种我可以操纵它的方式得到结果。 在Math命名空间中似乎没有因子函数,因此问题。

用于循环计算阶乘

目前我有这组代码,它的目的是计算阶乘。 int numberInt = int.Parse(factorialNumberTextBox.Text); for (int i = 1; i < numberInt; i++) { numberInt = numberInt * i; } factorialAnswerTextBox.Text = numberInt.ToString(); 由于某种原因,它不起作用,我不知道为什么。 例如,我将输入3并得到答案为-458131456,这看起来很奇怪。 任何帮助赞赏。 谢谢