Cod sursa(job #1365740)

Utilizator GilgodRobert B Gilgod Data 28 februarie 2015 14:50:41
Problema Algoritmul lui Euclid Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>

using namespace std;

#define min(a,b) (a<b)?a:b
#define max(a,b) (a>b)?a:b

ifstream fin("euclid2.in");
ofstream fout("euclid2.out");

int n, a, b;

int euclid(int a, int b){
    //gcd(a,b) = b iff a|b
    //gcd(a,b) = gcd(b,r)
    int r;
    while(a%b !=0) {
        r = a % b;
        a = b;
        b = r;
    }
    return b;
}

int main()
{
    ios::sync_with_stdio(false);
    fin >> n;
    while(n-- > 0){
        fin >> a >> b;
        fout << euclid(max(a,b), min(a,b)) << '\n'  ;
    }
    return 0;
}