数论

1.最大公约数 gcd:

gcd(a,b)=gcd(b,a%b) - a%b=0时停止递归


2.最小公倍数 lcm:

a*b/gcd(a,b)

gcd满足左右同除:gcd(a,b)=p<=>gcd(a/p,b/p)=1;


3.模法

(a+b)%c=(a%c+b%c)%c
(a-b)%c=(a%c-b%c+c)%c
(ab)%c=(a%c)(b%c)%c


4.逆元

若(b*x)%c=1,
则(a/b)%c=(a*x)%c

? 费马小定理:(a^p)%p=a;
因此推出,(a/b)%c一式中,a^(c-2)是a的逆元
即(a/b)%c=a^(c-1)%c

5.欧拉函数

φ(N)定义为小于等于N且与N互质的正整数的个数。 
公式:φ(N)=N*(p1-1)(p2-1)···(pn-1)/p1*p2····*pn

6.快速幂

ll fast_pow(ll a,ll b){
    ll ans=1;
    for(;y;y>>=1,x=((x%k)*(x%k))%k)
        if(y&1) ans=((x%k)*(ans%k))%k;
    return ans;
}


•一 如何判断一定范围(比如1~10000)里有多少个素数?
·欧拉筛法

二 如何判断一个很大的数(比如10000000007)是不是素数?
·从2遍历到根号下N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值