问题标签 [factorial]

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 投票
22 回答
30282 浏览

algorithm - 您将如何编写非递归算法来计算阶乘?

你将如何编写一个非递归算法来计算n!

0 投票
6 回答
14684 浏览

c++ - 当我计算一个大的阶乘时,为什么我得到一个负数?

所以,简单的程序,计算一个阶乘数。代码如下。

现在,对于大多数数字来说,这工作得很好而且很漂亮(当然有更快、更优雅的解决方案,但这对我有用)。但是,当输入更大的数字(例如 250)时,坦率地说,就是废话。现在,250 的前几个阶乘“位”是 { 250, 62250, 15126750, 15438000, 3813186000 } 以供参考。

我的代码吐出 { 250, 62250, 15126750, 15438000, -481781296 } 这显然是关闭的。我的第一个怀疑可能是我违反了 32 位整数的限制,但鉴于 2^32 是 4294967296,我不这么认为。我唯一能想到的可能是它违反了有符号的32 位限制,但它不应该能够考虑这种事情吗?如果被签名是问题,我可以通过使整数无符号来解决这个问题,但这只是一个临时解决方案,因为下一次迭代产生 938043756000 远高于 4294967296 限制。

那么,我的问题是签名限制吗?如果是这样,我能做些什么来计算大数(虽然我有一个“LargeInteger”类我前一段时间可能适合!)而不会再次遇到这个问题?

0 投票
3 回答
900 浏览

factorial - 阶乘是如何计算的?

说有一个函数来计算阶乘(n)

factorial(7) 是否为从 1 到 7 的 n 中的每一个创建 7 个函数对象

并在必要时使用这些值(对于阶乘(8),如阶乘(7)* 8)

0 投票
7 回答
4538 浏览

awk - 无法在 AWK 中创建阶乘函数

编码

我通过以下方式运行命令失败

我明白了

错误信息是什么意思?

0 投票
7 回答
3652 浏览

c - 无法让阶乘函数在 C 中工作

我无法让以下代码工作。

你怎样才能让代码工作?

0 投票
9 回答
7680 浏览

c# - 在 C# 中处理非常大的整数

有谁知道我可以在 C# 中计算非常大的整数的方法

我正在尝试计算数字的阶乘,例如

5!= 5*4*3*2*1 = 120

对于小数字,这不是问题,但试图计算 unsigned int 的最大值的阶乘,即 4,294,967,295,这似乎是不可能的。

我已经查看了 BigInteger 类,但它似乎没有做我需要的

任何帮助将不胜感激

0 投票
6 回答
7079 浏览

python - 无法在 Python 中创建阶乘函数

我的代码

我得到错误

如何在 Python 中创建阶乘函数?

0 投票
1 回答
831 浏览

integer - 无法为阶乘增加 AWK 的 int-limit

我运行AWK 代码,我得到了

这表明 AWK 没有使用与 Python 相同的 int IEEE-standard -module。看来AWK的限制是170!。

如何让 AWK 像 Python 一样理解大整数?

0 投票
3 回答
7953 浏览

c# - C#:使用 Lambda 的递归函数

以下不编译:

局部变量“fac”在访问之前可能未初始化

你怎么能用 lambdas 做一个递归函数?

[更新]

这里还有两个我觉得有趣的链接:

  1. Eric Lippert 的“为什么递归 lambda 会导致明确的赋值错误?”
  2. C#中的匿名递归
0 投票
6 回答
1418 浏览

language-agnostic - 在计算之前可以知道阶乘有多大吗?

我正在使用 GMP 来计算非常大的阶乘(例如 234234!)。有没有办法知道,在计算之前,结果将(或可能)有多少位数?