Cod sursa(job #2029746)

Utilizator pimao2004Lupu Stefan Dragos pimao2004 Data 30 septembrie 2017 13:17:40
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <cstdio>
using namespace std;
int mod;
long long logpow(long long base, long long p)
{
    int b=32;
    long long ans=1;
    for ( int bit = 0 ; (1ll<<bit) <= p ; ++bit ){
        if ( p & (1ll<<bit) )
            ans = ans * base % (p+2);
        base = base * base % (p+2);
    }
    return ans;
}
int main()
{
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    int a,n;
    cin>>a>>n;
    mod=n;
    cout<<logpow(a,n-2)%n;
    return 0;
}