Cod sursa(job #2064994)

Utilizator GrandmasterSoucup Bogdan Grandmaster Data 13 noiembrie 2017 10:25:34
Problema Algoritmul lui Euclid Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <stdio.h>
int val;
FILE *f, *g;
int gcd( int a, int b ) {
    int result ;
    __asm__ __volatile__ ( "movl %1, %%eax;"
                          "movl %2, %%ebx;"
                          "COND: cmpl $0, %%ebx;"
                          "je DONE;"
                          "xorl %%edx, %%edx;"
                          "idivl %%ebx;"
                          "movl %%ebx, %%eax;"
                          "movl %%edx, %%ebx;"
                          "jmp COND;"
                          "DONE: movl %%eax, %0;" : "=g" (result) : "g" (a), "g" (b)
    );
    return result;
}
int main()
{
    f = fopen("euclid2.in", "r+");
    g = fopen("euclid2.out", "w+");
    int a, b, n;
    //cin >> n;
    fscanf(f, "%d", &n);
    for(int i = 0; i < n; i++){
        //cin >> a >> b;
        fscanf(f, "%d%d", &a, &b);
       // cout << gcd(a, b) << "\n";
        fprintf(g, "%d\n", gcd(a, b));
    }
    return 0 ;
}