Cod sursa(job #1600525)

Utilizator robertstrecheStreche Robert robertstreche Data 15 februarie 2016 09:28:21
Problema Invers modular Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>

using namespace std;

inline void euclid(int a,int b,int *d,long long *x,long long *y){

   if (b==0){
    *d=a;
    *x=1;
    *y=0;
   }
   else{
    long long x0,y0;
    euclid(b,a%b,d,&x0,&y0);

    *x=y0;
    *y=x0-1LL*(a/b)*y0;
   }
}
int main()
{
   freopen("inversmodular.in","r",stdin);
   freopen("inversmodular.out","w",stdout);

   int a,b,c=1;
   long long x,y;
   scanf("%d %d",&a,&b);
   euclid(a,b,&c,&x,&y);
   printf("%lld",x);

   fclose(stdin);
   fclose(stdout);
}