Cod sursa(job #399593)

Utilizator socheoSorodoc Ionut socheo Data 20 februarie 2010 18:55:04
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
long long a,n,i,inv;
void euclid(long long &x,long long &y,long long a,long long b)
{ 	if(b==0)
		{	x=1;
			y=0;}
	else
		{	euclid(x,y,b,a%b);
			long long aux=x;
			x=y;
			y=aux-y*(a/b);
		}
}
int main()
{	freopen("inversmodular.in","r",stdin);
	freopen("inversmodular.out","w",stdout);
	scanf("%d%d",&a,&n);
	euclid(inv,i,a,n);
	if(inv<=0)
		inv=n+inv%n;
	printf("%lld",inv);
	
	
	return 0;
}