Cod sursa(job #2064988)

Utilizator GrandmasterSoucup Bogdan Grandmaster Data 13 noiembrie 2017 10:20:32
Problema Algoritmul lui Euclid Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <stdio.h>
using namespace std;
int val;
FILE *f, *g;
int gcd( int a, int b ) {
    int result ;
    __asm__ __volatile__ ( "movl %1, %%eax;"
                          "movl %2, %%ebx;"
                          "CONTD: cmpl $0, %%ebx;"
                          "je DONE;"
                          "xorl %%edx, %%edx;"
                          "idivl %%ebx;"
                          "movl %%ebx, %%eax;"
                          "movl %%edx, %%ebx;"
                          "jmp CONTD;"
                          "DONE: movl %%eax, %0;" : "=g" (result) : "g" (a), "g" (b)
    );
    return result;
}
int main()
{
    f = fopen("r", "euclid2.in");
    g = fopen("w", "euclid2.out");
    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", gcd(a, b));
    }
    return 0 ;
}