Cod sursa(job #271357)

Utilizator adrian69adrian horia adrian69 Data 5 martie 2009 10:40:28
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
void euclid(int a,int b,long long &x,long long &y)
{if(b==0)
 {
  x=1;
  y=0;  
         
 }
 else
  {long long x0,y0;
   euclid(b,a%b,x,y);
   long long tmp=x;
   x=y;
   y=tmp-(a/b)*y;
          
         }
     
}
int main()
{freopen("inversmodular.in","r",stdin);
 freopen("inversmodular.out","w",stdout);
 int x,y;
 long long a=0,b,c=1;
 scanf("%d %d",&x,&y);
 euclid(x,y,a,b);
 if(a<=0)
  a=y+a%y;
 printf("%d ",a); 
 fclose(stdout);
 fclose(stdin);
 return 0;
}