Cod sursa(job #1059340)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 16 decembrie 2013 16:29:01
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>

using namespace std;

long long A,N,sol;

inline long long ExpLog(long long x, long long put)
{
    long long p=1;
    while(put>0)
    {
        if(put%2)
        {
            p=(p*x)%N;
            --put;
        }
        x=(x*x)%N; put=put/2;
    }
    return p%N;
}

int main()
{
    freopen ("inversmodular.in","r",stdin);
    freopen ("inversmodular.out","w",stdout);
    scanf("%lld%lld", &A,&N);
    sol=ExpLog(A,N-2);
    printf("%lld\n", sol);
    return 0;
}