Cod sursa(job #2579144)

Utilizator CatiCatiDervesteanu Marian Catalin CatiCati Data 11 martie 2020 23:55:02
Problema Algoritmul lui Euclid Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <cstdio>

typedef unsigned int ui;

inline void read(ui &x);
inline void write(ui x);

inline ui gcd(ui a, ui b){
    while(b)b^=a^=b^=a%=b;
    return a;
}

int main(){
    freopen("euclid2.out","w",stdout);
    freopen("euclid2.in","r",stdin);
    
    ui a, b, t;
    read(t);
    
    while(--t){
        read(a); read(b);
        write(gcd(a,b));
    }
    return 0;
}

inline void read(ui &x){
    register char c = getchar();
    while(c < '0')c = getchar(); x = c^48;
    for(c=getchar(); 47<c && c<58; c=getchar())
        x = (x<<3) + (x<<1) + (c^48);
}

inline void write(ui x){
    char buf[10], *p = buf;
    do{ *p++ = 48 + x%10; x/=10;}while(x);
    do{ putchar(*--p);}while(p>buf);
    putchar('\n');
}