Cod sursa(job #1121889)

Utilizator alex_bucevschiBucevschi Alexandru alex_bucevschi Data 25 februarie 2014 14:39:04
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>
#define lld long long unsigned
using namespace std;
lld mod,n;
inline lld ExpLg(lld b,lld e)
{
    lld sol=1,i;
    for(i=1;i<=e;i<<=1)
    {
        if(i&e)
            sol=(sol*b)%mod;
        b=(b*b)%mod;
    }
    return sol;
}
inline lld InvMod(lld A,lld MOD)
{
    return ExpLg(A,MOD-2);
}
int main()
{
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    scanf("%lld%lld",&n,&mod);
    printf("%lld",InvMod(n,mod));
    return 0;
}