Cod sursa(job #2270479)

Utilizator RaresV227Virjoghe Rares Constantin RaresV227 Data 27 octombrie 2018 11:16:21
Problema Invers modular Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>

using namespace std;

int cmmdc(int a, int b)
{
    if(a == 0)
        return b;
    if(b == 0)
        return a;
    if( (a & 1) == 0 && (b & 1) == 0)
        return cmmdc(a >> 1, b >> 1) *2;
    if( (a & 1) == 0)
        return cmmdc(a >> 1, b);
    if( (b & 1) == 0)
        return cmmdc(a, b >> 1);
    if(a > b)
        return cmmdc(a - b, b);
    return cmmdc(a, b - a);
}

int main()
{
    ifstream f("cmmdc.in");
    ofstream g("cmmdc.out");
    int a, b;
    f >> a >> b;
    g << cmmdc(a, b);

    return 0;
}