阶乘近似及证明
我们要计算 \(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\)。

浙公网安备 33010602011771号