容斥定理,欧拉函数
https://blog.csdn.net/xianglunxi/article/details/9310105
容斥定理
- 思想:逆向思维,正面解不方便的时候,考虑其反面
- 欧拉函数的值:f(n)表示0-n-1过程中与n互素的数的个数
- 函数值为:先将n表示成质因子之积的形式设为p1,p2,pn,则函数值f(n)=n*(1-1/p1)(1-1/p2)*…*(1-1/pn)
//质因子分解,n的因子必然最多只有一个因子大于sqrt(n);
int sqrn=sqrt(n);
for(int i=2;i<=sqrn;i++){
if(n%i==0){
cout<<i<<" ";
n/=i;
while(n%i)n=n/i;
}