Pagini recente » Cod sursa (job #3190879) | Cod sursa (job #2726146) | Cod sursa (job #2215612) | Cod sursa (job #3183398) | Cod sursa (job #1009900)
#include <stdio.h>
int x,y,x1;
int gcd(int a,int b){
if(!b){x=1;y=0;return a;}
int r=gcd(b,a%b);
x1=x;x=y;y=x1-y*(a/b);
return r;
}
int main(){
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
int a,n;
scanf("%i%i",&a,&n);
int d=gcd(a,n);
if(x<1) x+=(x/n)*n;
if(x>n) x-=((n-x)/n)*n;
while(x<1) x+=n;
while(x>n) x-=n;
printf("%i\n",x);
return 0;
}