Cod sursa(job #1096664)

Utilizator vasile_pojogaPojoga Vasile vasile_pojoga Data 2 februarie 2014 14:52:29
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
using namespace std;

ifstream fin("euclid3.in");
ofstream fout("euclid3.out");

struct valoare{
    int a,b;
};

void euclid(int a, int b,int c){
    valoare va;
    va.a = 1;
    va.b = 0;
    valoare vb;
    vb.a = 0;
    vb.b = 1;
    valoare vc;
    while (b!=0){
        int q = a/b;
        vc.a = va.a - q*vb.a;
        vc.b = va.b - q*vb.b;
        va = vb;
        vb = vc;
        q = a;
        a = b;
        b = q % b;
    }
    if (c % a != 0)
    {
        fout<<"0 0\n";
    }
    else
    {
        fout<<va.a*(c/a)<<" "<<va.b*(c/a)<<"\n";
    }
}

int main(){
    int t,a,b,c;
    fin>>t;
    for(int i=0;i<t;i++)
    {
        fin>>a>>b>>c;
        euclid(a,b,c);
    }
    return 0;
}