Cod sursa(job #1515210)

Utilizator c0rn1Goran Cornel c0rn1 Data 1 noiembrie 2015 11:58:31
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>
#include <algorithm>

using namespace std;

long long int cmmdc(long long int a, long long int b, long long int &x, long long int &y)
{
   if (b == 0){
      x = 1;
      y = 0;
      return a;
   }
   long long int x0, y0;
   long long int d = cmmdc(b, a%b, x0, y0);
   x = y0;
   y = x0 - (a/b) * y0;
   return d;
}

int main()
{
   long long int a, n, x, y, d;
   freopen("inversmodular.in", "r", stdin);
   freopen("inversmodular.out", "w", stdout);
   scanf("%lld %lld\n", &a, &n);
   d = cmmdc(a, n, x, y);
   while (x < 0)
      x += n;
   printf("%lld", x);

   return 0;
}