Cod sursa(job #1098341)

Utilizator gabrielvGabriel Vanca gabrielv Data 4 februarie 2014 19:08:13
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <cstdio>

using namespace std;

long long PowLog(long long N, long long P, long long MOD)
{
    long long Sol = 1;

    while(P)
    {
        if(P&1)
            Sol = (Sol * N)%MOD;
        N = (N * N) % MOD;
        P >>= 1;
    }
    return Sol;
}

int main()
{
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);

    int N,A;
    scanf("%d %d",&A,&N);
    printf("%lld",PowLog(A,N-2,N));

    return 0;
}