Cod sursa(job #595853)

Utilizator PavelPavel Ana-Oriana Pavel Data 14 iunie 2011 17:26:34
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<fstream>

using namespace std;

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

void euclid(int a,int b,int &x,int &y)
{
	if(b==0)
	{
		y=0;
		x=1;
		return;
	}
	int xx,yy;
	euclid(b,a%b,xx,yy);
	x=yy;
	y=xx-yy*(a/b);
}

int main()
{
	int a,n,x,y;
	in>>a>>n;
	euclid(a,n,x,y);
	if(x<0)
		out<<n+x%n<<'\n';
	else
		out<<x%n<<'\n';
}