欧拉函数
欧拉函数的意义
欧拉函数,表示不小于一个数并于这个数互质的数的个数
写作
\[\varphi(n)
\]
比如
\[\varphi(6)=2(1,5)
\]
\[\varphi(8)=4(1,3,5,7)
\]
\[\dots
\]
欧拉函数的求法
那么欧拉函数怎么求呢?
显然可以枚举数,互质的数的个数就是最终的答案
是不是太蠢了?
我们需要高级一点的求法
直接求互质的数的个数有点难
我们不要直接单刀直入,尝试拐一下弯
与之互质的数的个数不就是总共的个数-不互质的个数?
不互质的数有啥特征?
\[\gcd(a,b)\ne 1
\]
那么这样的数怎么求呢?
\[\varphi(p^k)=p^k(总数)-p^{k-1}(与之不互质的数的个数)(p为质数)
\]
欧拉函数是积性函数,那么我们对于n质因数分解,不就行了吗?
化简为
\[n=p_1^{a_1}p_2^{a_2}p_3^{a_3}\dots*p_k^{a_k}
\]
\[\varphi(n)=\prod_{i=1}^k(p_i^{a_i}-p_i^{a_i-1})
\]
\[\varphi(n)=\frac{n\prod_{i=1}^k(p_i^{a_i}-p_i^{a_i-1})}{n}
\]
\[\varphi(n)=\frac{n\prod_{i=1}^k(p_i^{a_i}-p_i^{a_i-1})}{p_1^{a_1}p_2^{a_2}p_3^{a_3}\dots*p_k^{a_k}}
\]
\[\varphi(n)=n\prod_{i=1}^k(1-\frac{1}{p_i})
\]