您的位置:首页 > 其它

容斥原理 和 欧拉函数

2013-11-11 22:13 525 查看
概率论中,对于概率空间

中的事件A1,……,An,当n = 2时容斥原理的公式为:


当n = 3时,公式为:


一般地:



正数n的唯一素因子分解式=p1^a1 * p2^a2 [b]*[/b] p3^a3 ……* pk^ak 。求1,2,3,…… n中与n互素的个数。

φ(n)=n(1  - 1/p1) (1 - 1/p2) (1 - 1/p3) (1 - 1/p4)…..(1 - 1/pk) , 其中p1, p2……pk为n的所有质因数

int euler_phi(int n)
{
int m=(int)sqrt(n+0.5);
int ans=n;
for(int i=2;i<=m;i++)
{
if(n%i==0)
{
ans = ans / i * (i-1);
while(n % i == 0)
n/=i;
}
}
if(n>1)
ans = ans / n * (n-1);
return ans;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: