2017-07-07:欧拉函数&&容斥原理

欧拉函数:

这里写图片描述

=n(p11p1)(p21p2)(p31p3)

定义:整数从1到n中有多少个数与n互质

    m=n;k=n;
    r=sqrt(n);
    for (int i=1;i*i<=r;i++){//k即为φ(n)
        if (!(m%i)) k=k/i*(i-1);
        while (!(m%i)) m=m/i;
    }
    if (m!=1) k=k/m*(m-1);//m可能没有约完,但m定为质数
容斥原理:先允许再排斥

如找从1到100中是2、3、5的倍数的数的个数

ans=(1002)+(1003)+(1005)(1006)(10010)(10015)+(10030)

先找是2、3、5的倍数的数,发现多加了是6,10,15的倍数的个数,然后再减去是6,10,15的倍数的个数发现减多了,再加上是30的倍数的个数

先加再减又加的,加减交替看实际情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值