Cod sursa(job #1593870)

Utilizator Kr@k3nRus Alexandru Kr@k3n Data 8 februarie 2016 22:23:35
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>

using namespace std;
ifstream cin ("inversmodular.in");
ofstream cout("inversmodular.out");
long long a, n;

void gcd(long long& x, long long& y, int a, int b)
{
	if(!b)
		x=1, y=0;
	else
	{
		gcd(x, y, b, a%b);
		long long aux =x;
		x=y;
		y = aux-y*(a/b);
	}
}
int main()
{
	long long inv=0, ins;
	cin>>a>>n;
	gcd(inv, ins, a, n);

	while(inv<=0)
		inv = n + inv%n;
	cout<<inv;

	return 0;

}