数论函数前缀和合集
01 - \(\sum\limits_{i=1}^{n} [gcd(i,m)=1]\)
索引:n以内与m互质的数的个数
求:\(\sum\limits_{i=1}^{n} [gcd(i,m)=1]\)
- 由 \(\sum\limits_{d|n}\mu(d)=[n=1]\) 得
\(\sum\limits_{i=1}^{n} \sum\limits_{d|gcd(i,m)}\mu(d)\) - 交换求和顺序,得
\(\sum\limits_{d|m}\mu(d)\lfloor\frac{n}{d}\rfloor\) - 注意到当d有平方因子的时候 \(\mu(d)=0\) ,那么求出 \(m\) 的所有的质因子然后容斥(其实莫比乌斯函数本身就代表容斥)
- 64位整数范围内的质因子不到20种,容斥的复杂度不超过1e6单次。
当n与m相等时, \(\varphi(n)=\sum\limits_{i=1}^{n} [gcd(i,n)=1]\) ,为欧拉函数的定义。所以可以得到 \(\varphi(n)=\sum\limits_{d|n}\mu(d)\frac{n}{d}\) 即 \(\frac{\varphi(n)}{n}=\sum\limits_{d|n}\frac{\mu(d)}{d}\)
仔细想想欧拉函数好像也是这样求的。