You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求证log n! = n log n - O(n):如何推导O(n)项?

推导log(n!) = nlogn - O(n)的关键步骤

1. 展开阶乘的对数

首先,阶乘的对数可直接展开为求和形式:
log(n!) = log1 + log2 + log3 + ... + logn

2. 用积分做上下界估计

函数f(x)=logx是单调递增函数,因此求和式log(n!)可通过定积分做上下界近似:

  • 下界:求和式大于等于从1到n的logx积分:∫₁ⁿ logx dx ≤ log(n!)
  • 上界:求和式小于等于从1到n+1的logx积分:log(n!) ≤ ∫₁ⁿ⁺¹ logx dx

3. 计算积分值

通过分部积分法计算∫logx dx,结果为:
∫logx dx = xlogx - x + C

计算下界积分:

∫₁ⁿ logx dx = [xlogx - x]₁ⁿ = nlogn - n - (1·log1 - 1) = nlogn - n + 1

这说明log(n!) ≥ nlogn - n + 1

计算上界积分:

∫₁ⁿ⁺¹ logx dx = [(n+1)log(n+1) - (n+1)] - (1·log1 -1) = (n+1)log(n+1) - n

将(n+1)log(n+1)展开为(n+1)(logn + log(1+1/n)),利用log(1+1/n) ≤ 1/n(n≥1时成立),可推导出:

(n+1)log(n+1) -n = nlogn + nlog(1+1/n) + log(n+1) -n ≤ nlogn + 1 + log(n+1) -n

其中1 + log(n+1)是O(logn)量级,属于O(n)范畴,因此上界可简化为log(n!) ≤ nlogn -n + O(logn)

4. 合并结论

结合上下界结果:
nlogn -n +1 ≤ log(n!) ≤ nlogn -n + O(logn)
由于O(logn)包含在O(n)中,因此可写成:
log(n!) = nlogn - O(n)

补充:斯特林公式验证

斯特林公式给出阶乘的近似表达式:
n! ≈ √(2πn) · (n/e)^n
对两边取对数:

log(n!) ≈ (1/2)log(2πn) + nlogn -n

其中(1/2)log(2πn)是O(logn)量级,同样属于O(n),因此也能得到log(n!) = nlogn - O(n)的结论

内容的提问来源于stack exchange,提问作者Israel Hernandez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:01:21