Cod sursa(job #2019901)

Utilizator titisportivuChiornita Traian - Adrian titisportivu Data 8 septembrie 2017 20:06:33
Problema Invers modular Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>

void InvMod (int a, int b, int *alpha, int *beta)
{
    if (b == 0)
    {
        *alpha = 1;
        *beta = 0;
    }
    else
    {
        InvMod (b, a % b, alpha, beta);
        
        int aux = *alpha;
        *alpha = *beta;
        *beta = aux - (*beta) * (a / b);
    }   
}

int main ()
{
    int y, iA, A, N;

    freopen ("inversmodular.in", "r", stdin);
    freopen ("inversmodular.out", "w", stdout);

    scanf ("%d %d", &A, &N);
    InvMod (A,N,&iA,&y);

    while (iA <= 0)
        iA += N;
    printf("%d\n", iA);

    return 0;
}