Cod sursa(job #2039037)

Utilizator VladG26Ene Vlad-Mihai VladG26 Data 14 octombrie 2017 10:45:44
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <cstdio>
using namespace std;
pair<long long,long long> euclidExtins(long long a,long long b)
{
    if(!b)
        return make_pair(1,0);
    pair<long long,long long> p=euclidExtins(b,a%b);
    return make_pair(p.second,p.first-p.second*(a/b));
}
int main()
{

    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    long long a,b;
    scanf("%lld%lld",&a,&b);
    long long rez=euclidExtins(a,b).first;
    while(rez<0)
        rez+=b;
    printf("%d",rez);

    return 0;
}