Cod sursa(job #2021445)

Utilizator cristii2000cristiiPanaite Cristian cristii2000cristii Data 13 septembrie 2017 18:28:49
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>

using namespace std;

int a, n, k, l;

void euclid(int a, int n, int &k, int &l)
{
    if (n==0)
    {
        k=0;
        l=1;
        return;
    }
    int k1, l1;
    euclid(n, a%n, k1, l1);
    l = k1;
    k = l1 - (a/n) * k1;
}

int main()
{
    freopen("inversmodular.in", "r", stdin);
    freopen("inversmodular.out", "w", stdout);
    scanf("%d %d", &a, &n);
    euclid(a, n, k, l);
    while (l < 0)
    {
        l+=n;
    }
    printf("%d", l);
    return 0;
}