Cod sursa(job #1389609)

Utilizator killlerr1Chilom Mircea killlerr1 Data 16 martie 2015 14:19:20
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
using namespace std;

ifstream is("inversmodular.in");
ofstream os("inversmodular.out");

typedef long long ll;

int a, n;

ll power(int a, int p);

int main()
{
    is >> a >> n;
    os << power( a, n - 2 ) << '\n';

    is.close();
    os.close();
    return 0;
}

ll power(int a, int p)
{
    if( p == 1 )
        return a;
    ll val = power(a, p / 2);

    if( p % 2 == 1 )
        return val * val % n * a % n;
    return val * val % n;
}