P1445 [Violet] 樱花 - 数论
题意
给定 \(n\),求方程 \(\dfrac{1}{x}+\dfrac{1}{y}=\dfrac{1}{n!}\) 的正整数解个数,\(1\le n\le 10^6\)。
题解
\[\begin{aligned} \dfrac{1}{y}&=\dfrac{1}{n!}-\dfrac{1}{x}=\dfrac{x-n!}{xn!} \\ y&=\dfrac{xn!}{x-n!}\\&=\dfrac{n!(x-n!)+(n!)^2}{x-n!}\\&=n!+\dfrac{(n!)^2}{x-n!} \end{aligned}
\]
由于对于每个 \(x\),至多有一个 \(y\) 与其组成一组解,所以答案就是 \(d((n!)^2)\),\(d\) 是约数个数函数。
由于在 \(n!\) 中质因子 \(p\) 的个数是 \(\sum\limits_{k>0} \lfloor \dfrac{n}{p^k}\rfloor\),所以答案可以通过线性筛出质数,在 \(\mathcal{O}(n\log\log n)\) 的时间复杂度内求出。
Written by Alan_Zhao