Cod sursa(job #717643)

Utilizator crisvirusDutescu Cristian crisvirus Data 20 martie 2012 09:04:27
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<stdio.h>
void euclid(int a, int b,int &x, int&y,int &d)
{
	if (b==0)
	{
		d=a;
		x=1;
		y=0;
		return;
	}
	int x1,y1,q=a/b;
	euclid(b,a%b,x1,y1,d);
	x=y1;
	y=x1-q*y1;
}
int main()
{
	int a,n,x,y,d;
	freopen("inversmodular.in","r",stdin);
	freopen("inversmodular.out","w",stdout);
	scanf("%d%d",&a,&n);
	euclid(a,n,x,y,d);
	if(x<0) printf("%d",n+x%n);
	if(x>0) printf("%d",x%n);
}