问题标签 [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.
c++ - 为什么阶乘递归函数的效率低于正常的阶乘函数?
我有两个函数可以计算数字 n 的阶乘。我不明白为什么“正常”函数需要更少的时间来计算数字 n 的阶乘。这是正常功能:
这是递归函数:
这应该更省时,因为它不会创建新变量,并且它执行的操作更少。虽然正常函数确实使用了更多的内存,但它更快。
我应该使用哪一个,为什么?
PS:我需要使用 double 来计算 e^x 的泰勒级数。
java - 找出数字 100 中的数字之和!(我的while循环不会停止)
我一直在尝试解决Project Euler 中的问题 20 :
嗯!表示 n (n 1) ... 3 * 2 * 1 例如,10!= 10 * 9 ... 3 * 2 * 1 = 3628800,以及数字 10 中的数字之和!是 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27。求数字 100 中的数字之和!
这是我到目前为止想出的。我已经用这段代码得到了正确的答案(648),但是我有点 OC,因为我的代码是一个无限循环。在 while 循环内结果变为 0 后,它就不会停止。有人可以帮我解决这个问题吗?
function - 如何在scala中优化这个短阶乘函数?(创建 50000 个 BigInt)
我已经比较了 scala 版本
到python版本
事实证明,scala 版本比 python 版本花费了大约 10 倍的时间。
我猜,一个很大的区别是 python 可以使用它的原生 long 类型,而不是为每个数字创建新的 BigInt 对象。但是scala中有解决方法吗?
java - 零阶乘递归返回 1
我怎样才能让这个递归方法在不测试基本情况的情况下返回1
调用0!
,即不执行if-else
0 和 1。
我不想检查基本情况。这可能吗?
format - octave 打印所有阶乘数
如何打印出100的所有数字!在八度?
八度:1> 阶乘(100)ans = 9.3326e+157
下面的命令给出了错误的答案:
octave:4> printf("%u\n",factorial(100)) 93326215443947553183793338240612302366006877769275129529769934567734921397913148008797092443225880267680360266584467988186500321788890593731926090238149001216
c++ - 理解递归,C++
对于下面的代码,谁能告诉我,如果基本情况(n==0)的返回值为 0,为什么函数总是返回“0”?我知道为了更正这个函数,我只需要用“return 1”替换“return 0”,但是,我试图理解为什么它在下面的基本情况下返回 0。
谢谢你的帮助
编辑:希望下面的代码没有逻辑错误......
math - 标准阶乘函数应该如何表现?
当我用谷歌搜索“如何找到数字的阶乘”时,我得到了很多答案......
其中一个例子是……
它可以工作......但是,Windows 计算器让我感到惊讶:它也适用于十进制数字!
例如:在 Windows 计算器上,的阶乘0.5
是0.886226925
...
这是期望的行为吗?是否为非整数定义了阶乘?
function - 用于计算阶乘的函数的循环不变量
我很难正确识别以下函数的循环不变量:
我已经确定循环不变量是x = 1 OR x = y!
因为该语句作为前置条件成立并且作为后置条件成立。
它似乎并不适用于每次迭代,例如如果 y = 3,那么在循环的第一次迭代中,x = 1 * 3 等于 3 而不是 3!相当于 6。
我想这就是我真正困惑的地方。一些书籍文章指出,循环不变量是在开始或循环时必须等于真(因此是前置条件)并且在循环结束时也必须为真(因此是后置条件)但不一定需要的语句在循环的中途保持真实。
上述函数的正确循环不变量是什么?
python - 使用列表合成堆栈以在 Python 中进行递归?例子?
例如,这是我的阶乘函数:
但是当 n 太高时它会崩溃。我想使用堆栈仿真来模拟这个完全相同的功能。我该怎么做这样的事情?如果它不是尾递归怎么办?很难找到解释。
c++ - 并发::可组合/ C++
这是计算任意数的阶乘的代码:
你能给我解释一下吗:
- 是什么
()->
意思?我认为()
是函子,但属于哪一类?为什么会有->
?
- 是什么
- 什么是
1LL
?
- 什么是