链接:http://acm.hdu.edu.cn/showproblem.php?pid=3501
求一个数n的所有小于它并且与它不互质的数的和。
打算复习一波欧拉函数的,结果这题发现可以容斥。
我们知道如果一个数$n$含有因数$x$,那么$x$的倍数都和$n$不互质,且质因数至少为$x$。
我们可以知道,对于任意小于$n$的因数$x$,对本题的贡献为$x+2x+3x+…+kx=\frac{k(k+1)}{2}x$,其中$k$为$n$对$x$的倍数。
于是直接对$n$分解因数,再容斥。
1 |
|
再来考虑欧拉函数,知道一个定理:小于$n$的数,且与$n$互质的数的和为:
$$
\frac{\phi(n)×n}{2}
$$
然而小于$n$的数的和为$\frac{n(n-1)}{2}$,于是我们一减:
$$
\frac{n(n-1-\phi(n))}{2}
$$
1 | signed main() { |