31 solutions

  • -2
    @ 2024-10-24 11:16:59

    位运算 code

    #include<stdio.h>
    using namespace std;
    unsigned long long a,b,mod;
    unsigned long long pow(unsigned long long a,unsigned long long b){
        unsigned long long ret = 1;
        while(b){
            if(b&1)
                ret=(ret*a)%mod;
            a=(a*a)%mod;
            b>>=1;
        }
        return ret;
    }
    int main(){
        scanf("%lld%lld%lld",&a,&b,&mod);
        printf("%lld",pow(a,b)%mod);
    return 0;
    }
    

    Information

    ID
    171
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    2
    Tags
    # Submissions
    1664
    Accepted
    501
    Uploaded By