Cod sursa(job #165679)

Utilizator tm_raduToma Radu tm_radu Data 26 martie 2008 16:11:20
Problema Algoritmul lui Euclid Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>

int t, a, b;

int Cmmdc(int a, int b);

int main()
{
    freopen("euclid2.in", "r", stdin);
    freopen("euclid2.out", "w", stdout);
    scanf("%d", &t);
    while ( t )
    {
        scanf("%d %d", &a, &b);
        printf("%d\n", Cmmdc(a, b));
        t--;
    }
    return 0;
}

int Cmmdc(int a, int b)
{
    if ( a == 0 ) return b;
    if ( b == 0 ) return b;
    if ( a < b ) a = a+b, b = a-b, a = a-b;
    if ( a%b == 0 ) return b;
    return Cmmdc(a%b, b);
}