1.欧拉函数:小于或等于n且与n互素的正整数个数,称为欧拉函数。
2.若n的质因数为p1,p2,p3,,,,,pn,则欧拉函数f(n)可以表示为f(n)=n*(1-1/p1)*(1-1/p2)*(1-1/p3)*.....(1-1/pn).
3.如果p是一个素数,n是正整数,则f()=
-
.
欧拉函数的实现:直接用公式f(n)=n*(1-1/p1)*(1-1/p2)*(1-1/p3)*.....(1-1/pn)。
#include<cstdio>
int n, m;
int phi(int n){
int res = n;
for (int i = 2; i * i <= n; i++){
if(n % i == 0){
res = res - res / i;//(实际上是res*(1-1/i)).
while(n % i == 0) n /= i;
}
}
if(n > 1) res =