阶乘近似及证明

我们要计算 \(n!\) 的近似,考虑求对数。

\[\ln(n!)=\sum_{i=1}^n\ln i \]

由于 \(f(x)=\ln x\) 单调递增,所以

\[\int_{x-1}^x\ln t\,\mathrm{d}t<\ln x<\int_x^{x+1}\ln t\,\mathrm{d}t \]

\[\begin{align*} &\sum_{i=1}^n\ln i \\ =&\sum_{i=2}^n\ln i \\ \ge&\sum_{i=2}^n\int_{i-1}^i\ln t\,\mathrm{d}t \\ =&\int_{1}^n\ln t\,\mathrm{d}t \\ =&\left.(x\ln x-x)\right|_1^n \\ =&n\ln n-n+1 \end{align*} \]

\[\begin{align*} &\sum_{i=1}^n\ln i \\ =&\ln n+\sum_{i=1}^{n-1}\ln i \\ \le&\ln n+\sum_{i=1}^n\int_{i}^{i+1}\ln t\,\mathrm{d}t \\ =&\ln n+\int_{1}^{n}\ln t\,\mathrm{d}t \\ =&\ln n+\left.(x\ln x-x)\right|_1^n \\ =&(n+1)\ln n-n+1 \end{align*} \]

而 \(\exp(n\ln n-n+1)=\frac{n^n}{e^{n-1}},\ \exp((n+1)\ln n-n+1)=\frac{n^{n+1}}{e^{n-1}}\)

所以 \(\frac{n^n}{e^{n-1}}<n!<\frac{n^{n+1}}{e^{n-1}}\)

我们一般记

\[\boxed{n!\approx\frac{n^n}{e^n}} \]

线性筛 \(i^i\)

这里我们只说明为什么质数间隔求和是线性的。

设 \(f(n)\) 表示 \(1\sim n\) 内相邻质数最大间隔,因为 \(\pi(n)\approx\frac{n}{\ln n}\),所以 \(f(n)\approx\ln n\)。

线性筛 \(i^i\) 中,质数间隔求和为 \(\sum_{i=1}^nf(\left\lfloor\frac{n}{i}\right\rfloor)\approx\sum_{i=1}^n\ln\frac{n}{i}=\ln(\frac{n^n}{n!})\approx\ln(e^n)=n\)。

posted @ 2026-09-17 08:54  SmpaelFx  阅读(6)  评论(0)    收藏  举报