Cod sursa(job #1901584)

Utilizator alex2kamebossPuscasu Alexandru alex2kameboss Data 4 martie 2017 09:42:18
Problema Invers modular Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <cstdio>

using namespace std;
long long invers(int a, int m)
{
    long long y0=0, y1=1,y;
    long long aux=m;
    long long r,c;
    while(a!=0)
    {
        r=m%a;
        c=m/a;
        m=a;
        a=r;
        y=y0-c*y1;
        y0=y1;
        y1=y;
    }
    if(y0<0)
        return m+y0%m;
    return y0;
}
int main()
{
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    int a,m;
    scanf("%d %d", &a, &m);
    cout<<invers(a,m);
    return 0;
}