Cod sursa(job #1388794)

Utilizator witselWitsel Andrei witsel Data 15 martie 2015 18:42:56
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
int N,X;

long long pow(long long, long long);

int main()
{
    f>>N>>X;
    g<<pow(N,X-2);
    f.close();g.close();
    return 0;
}

long long pow(long long base, long long exp)
{
    long long resp=1;
    while (exp>0)
    {
        if (exp%2==1) resp=(resp*base)%X;
        base*=base; base%=X;
        exp/=2;
    }
    return resp;
}