dev*_*ish 58 factorial exponential
哪个函数增长得更快,指数(如2 ^ n,n ^ n,e ^ n等)或阶乘(n!)?Ps:我刚读到某个地方,n!增长快于2 ^ n.
Gle*_*hes 102
N!最终比具有常数基数(2 ^ n和e ^ n)的指数增长更快,但是n ^ n比n增长更快!因为基数随着n的增加而增长.
Ale*_*eue 55
n! = n * (n-1) * (n-2) * ...
n^n = n * n * n * ...
第一个之后的每个术语n^n
都更大,因此n ^ n将增长得更快.
n^n
增长大于n!
- 一个很好的解释,请参阅@AlexQueue 的答案。
对于其他情况,请继续阅读:
阶乘函数确实比指数函数渐近增大,但差异何时开始并不清楚。例如,对于n=5
和k=10
,阶乘5!=120
仍然小于10^5=10000
。为了找出阶乘函数何时开始变大,我们必须进行一些快速的数学分析。
我们使用斯特林公式和基本对数运算:
log_k(n!) ~ n*log_k(n) - n*log_k(e)
k^n = n!
log_k(k^n) = log_k(n!)
n*log_k(k) = log_k(n!)
n = log_k(n!)
n ~ n*log_k(n) - n*log_k(e)
1 ~ log_k(n) - log_k(e)
log_k(n) - log_k(e) - 1 ~ 0
log_k(n) - log_k(e) - log_k(k) ~ 0
log_k(n/(e*k)) ~ 0
n/(e*k) ~ 1
n ~ e*k
Run Code Online (Sandbox Code Playgroud)
因此,一旦n
达到 的大小的近 3 倍k
,阶乘函数将开始变得比指数函数更大。对于大多数现实场景,我们将使用较大的 值n
和较小的 值k
,因此在实践中,我们可以假设阶乘函数严格大于指数函数。