1. 程式人生 > >ACM日記_17.3.14——快速冪取模

ACM日記_17.3.14——快速冪取模

    #include <iostream>     
    using namespace std;     
        
    //計算a^bmodn     
    int modexp(int a,int b,int n)     
    {     
        int ret=1;     
        int tmp=a;     
        while(b)     
        {     
           //基數存在     
           if(b&0x1) ret=ret*tmp%n;     
           tmp=tmp*tmp%n;     
           b>>=1;     
        }     
        return ret;     
    }     
        
    int main()     
    {     
        cout<<modexp(2,10,3)<<endl;     
        return 0;     
    }