Cod sursa(job #2211144)

Utilizator DanSDan Teodor Savastre DanS Data 9 iunie 2018 14:14:35
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("inversmodular.in");
ofstream out("inversmodular.out");

int cmmdc(int a, int b, int &x, int &y)
{
    if(b==0)
    {
        x=1; y=0;
        return a;
    }
    int ans = cmmdc(b, a%b, x, y);
    int aux = x;
    x = y;
    y = aux - y*(a/b);
    return ans;
}

int main()
{
    int a, mod, x, y;
    in>>a>>mod;
    cmmdc(a,mod,x,y);
    while(x<0)
        x=x+mod;
    out<<x;
}



















/*
int n, a, b, x, y, c;

int cmmdc(int a, int b, int &x, int &y)
{
    if(b==0)
    {
        x=1; y=0;
        return a;
    }
    int ans = cmmdc(b, a%b, x, y);
    int aux = x;
    x = y;
    y = aux - y*(a/b);
    return ans;
}

int main()
{
    in>>n;
    for(int i=1; i<=n; i++)
    {
        in>>a>>b>>c;
        int d = cmmdc(a, b, x, y);
        if(c%d == 0)
            out<<(c/d)*x<<' '<<(c/d)*y<<'\n';
        else out<<"0 0"<<'\n';
    }
    return 0;
}
*/