Cod sursa(job #3205765)

Utilizator AlexandruDrg23Draghici Alexandru AlexandruDrg23 Data 20 februarie 2024 14:24:10
Problema Invers modular Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;


ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");

long long pu(long long  a,long long  p,long long mo)
{
    a=a%mo;
    if(a==0)
        return 0;
    long long pro=1;
    while(p>0)
    {
        if(p%2==1)
        {
            pro=pro*a;
            p--;
            pro=pro%mo;
        }
            a=a*a;
            p/=2;
            a=a%mo;
    }
    return pro;
}


long long invers(int a,int modulo)
{
    return pu(a,modulo-2,modulo);
}

int main()
{
    int a,n;
    fin>>a>>n;
    fout<<invers(a,n);
    return 0;
}