Cod sursa(job #3236001)

Utilizator newagear2Dragan Iulian newagear2 Data 25 iunie 2024 10:40:17
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

using namespace std;

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

typedef long long num;

num invmod(num a, num b)
{
    num x = 1, y = 0;
    num x1 = 0, y1 = 1, a1 = a, b1 = b;
    while (b1)
    {
        num q = a1 / b1;
        num aux = x1;
        x1 = x - q * x1;
        x = aux;
        aux = y1;
        y1 = y - q * y1;
        y = aux;
        aux = b1;
        b1 = a1 - q * b1;
        a1 = aux;
    }
    return (x + b) % b;
}

int main()
{
    num a, m;
    cin >> a >> m;
    cout << invmod(a, m);
}