标签:
1 欧拉函数
定义:
若n为正整数,不大于n且与n互素的数的个数成为欧拉函数,记为φ(n)。
公式:
φ(n)=n*(1-1/p1)*(1-1/p2)*……*(1-1/pn),其中p1、p2……pn为n的质因数;
若n为素数,φ(n)=n-1。
例如:
24=2*2*2*3
φ(24)=24*(1-1/2)*(1-1/3)=8
代码:
int oula(int n) { int a=n,i; for(i=2; i<=n; i++) if(n%i==0)//第一次找到的必为素因子 { a=a-a/i; while(n%i==0) n/=i;//把该素因子全部约掉 } return a; }
2 整除函数(求正约数个数)
定义:
正整数n的正约数的个数,记为d(n)。
公式;
若n=p1α1*p2α2*……*pnαn
d(n)=(α1+1)*(α2+1)*......*(αn+1)。
例如;
d(24)=(3+1)*(1+1)=8。
标签:
原文地址:http://www.cnblogs.com/jyhywh/p/5660838.html