Cod sursa(job #2334503)

Utilizator Teodor112Teodor Teodor112 Data 2 februarie 2019 17:58:29
Problema Invers modular Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int MOD;
int inv(long long int x)
{
    int p=MOD-2;
    long long int Nr=1;
    while(p>=1)
    {
        if(p%2==1)
           {
               Nr*=x%MOD;
               p--;
           }
        else while(p%2==0){x=x*x%MOD;p=p/2;}
    }
    return Nr%MOD;
}
int main()
{
    int A;
    fin>>A>>MOD;
    fout<<inv(A)<<" ";
    return 0;
}