Cod sursa(job #2193368)

Utilizator ogabiiiGabriel Gabriel ogabiii Data 9 aprilie 2018 20:34:43
Problema Algoritmul lui Euclid Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 1.22 kb
//
//  main.cpp
//  Euclid
//
//  Created by Olaru Gabriel on 09/04/2018.
//  Copyright © 2018 Olaru Gabriel. All rights reserved.
//

//#include <stdio.h>
//
//#define miin(a,b) ((a < b) ? a : b)
//
//int T, A, B;
//
//int main(int argc, const char * argv[]) {
//
//    int i;
//    freopen("/Users/olarugabriel/Documents/XCode/Euclid/euclid2.in", "r", stdin);
//    freopen("/Users/olarugabriel/Documents/XCode/Euclid/euclid2.out", "w", stdout);
//
//    for(scanf("%d", &T);  T; --T)
//    {
//        scanf("%d %d", &A, &B);
//
//        for(i = miin(A,B); i; --i)
//        {
//            if(A % i == 0 && B % i == 0)
//            {
//                printf("%d\n", i);
//                break;
//            }
//        }
//    }
//    return 0;
//}

int T, A,B;

#include <stdio.h>

int gcd(int a, int b)
{
    if(a == b)
        return a;
    if(a == 0 || b == 0)
        return 0;
    
    if(a > b)
        return gcd(a - b, b);
    else
        return gcd(a, b - a);
}

int main(int argc, const char * argv[]){
    freopen("euclid2.in", "r", stdin);
    freopen("euclid2.out", "w", stdout);
    
    for(scanf("%d", &T);  T; --T)
    {
        scanf("%d %d", &A, &B);
        
        printf("%d\n", gcd(A, B));
    }
    
    return 0;
}