Cod sursa(job #1343604)

Utilizator EberardoVladianu Cosmin Eberardo Data 15 februarie 2015 17:29:50
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
long long rez=1,a,n;
void citire()
{
    fin>>a>>n;
}
void putere(long long x,long long nr,long long &rez)
{
    while(nr>0)
    {
        if(nr%2==0)
            {x=(x*x)%n;
            nr=nr/2;
            }
        else
        {
            rez=(rez*x)%n;
            x=(x*x)%n;
            nr=nr/2;
        }
    }

}
int main()
{
    citire();
    putere(a,n-2,rez);
    fout<<rez;
    return 0;
}