Cod sursa(job #330589)

Utilizator andreea_beicaBeica Andreea andreea_beica Data 10 iulie 2009 16:52:30
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<fstream>

using namespace std;

ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
void euclid(int a,int b,int &x,int &y,int &d)
{
	if(b==0)
	{
		x=1;
		y=0;
		d=a;
		return;
	}
	int x2,y2;
	euclid(b,a%b,x2,y2,d);
	x=y2;
	y=x2-a/b*y2;
}
int main()
{
	int a,n,x,y,d;
	in>>a>>n;
	euclid(a,n,x,y,d);
	if(x%n<0)
		out<<x%n+n;
	else out<<x%n;
	return 0;
}