一、欧拉函数
贴一下百度百科
在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。此函数以其首名研究者欧拉命名(Euler's totient function),它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。
所以通过欧拉函数可以很方便快捷的找出小于n的与n互质的数的个数
int euler(int n) //求n的欧拉函数
{
int num=n;
for(int i=2;i*i<=n;i++){
if(n%i==0){
num=num/i*(i-1);
while(n%i==0)
n/=i;
}
}
if(n>1)
num=num/n*(n-1);
return num;
}