1. 程式人生 > >【數學基礎】【歐拉定理模板】【費馬小定理】

【數學基礎】【歐拉定理模板】【費馬小定理】

基礎 int 復雜度 amp pan -1 log 分治 質數

費馬小定理:當p是一個質數時,且a和p互質,有ap-1=1(mod p) (歐拉定理的一種特殊情況)

歐拉定理:如果a和n互質,那麽aφ(n)=1(mod n)

對於任意a,b,n就有 ab=aφ(n)+b mod φ(n)(mod n) 處理b數值較大的情況 ,采用分治思想,復雜度為O(logn)

int mod = n;

int fastpow(int a,int b)
{
    long long ret = 1;
    tmp = a;
    while(b)
    {
        if(b&1)
            ret 
= ret*tmp%mod; tmp = (long long)tmp*tmp%mod; n>>1; } return ret; }

【數學基礎】【歐拉定理模板】【費馬小定理】