Cod sursa(job #2334512)

Utilizator Teodor112Teodor Teodor112 Data 2 februarie 2019 18:05:53
Problema Invers modular Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 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;
               Nr=Nr%MOD;
               p--;
           }
        else while(p%2==0){x=(x*x)%MOD;p=p/2;}
    }
    return Nr%MOD;
}
int main()
{
    long long int A;
    fin>>A>>MOD;
    fout<<inv(A)<<" ";
    return 0;
}