Cod sursa(job #1849890)

Utilizator GoogalAbabei Daniel Googal Data 17 ianuarie 2017 22:25:13
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

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

int n,a;

void inv_mod(long long &x, long long &y, int a, int b)
{
    if(!b)
    {
        x=1;
        y=0;
    }
    else
    {
        inv_mod(x,y,b,a%b);
        swap(x,y);
        y-=x*(a/b);
    }
}

int main()
{
    long long inv=0,ins;
    fin>>a>>n;
    fin.close();
    inv_mod(inv,ins,a,n);
    if(inv<=0)
        inv=n+inv%n;
    fout<<inv;
    fout.close();
    return 0;
}