Cod sursa(job #2334494)

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