Cod sursa(job #2134952)

Utilizator dragos.galeteanu2001Dragos Iulian dragos.galeteanu2001 Data 18 februarie 2018 14:28:50
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#define ll long long int

using namespace std;

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

int a, n;

void cmmdc(ll &invers, ll &ins, int a, int b)
{
	if (!b)
		invers = 1, ins = 0;
	else
	{
		cmmdc(invers, ins, b, a % b);
		ll aux = invers;
		invers = ins;
		ins = aux - ins * (a / b);
	}
}

int main()
{
	ll invers = 0, ins;

	in >> a >> n;
	cmmdc(invers, ins, a, n);

	if (invers <= 0) invers = n + invers % n;

	out << invers;

    return 0;
}