Cod sursa(job #1377150)

Utilizator teoionescuIonescu Teodor teoionescu Data 5 martie 2015 20:24:24
Problema Algoritmul lui Euclid extins Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<algorithm>
using namespace std;
typedef long long ll;
ifstream in("euclid3.in");
ofstream out("euclid3.out");
int main(){
    ll a,b,c,A[5],B[5],S[5];
    int t;in>>t;
    while(t--){
        in>>a>>b>>c;
        S[1]=a,S[2]=b;
        A[1]=1,A[2]=0;
        B[1]=0,B[2]=1;
        S[3]=S[1]%S[2];
        while(S[3]){
            A[3]=A[1]-A[2]*(S[1]/S[2]);
            B[3]=B[1]-B[2]*(S[1]/S[2]);
            S[1]=S[2],S[2]=S[3];
            A[1]=A[2],A[2]=A[3];
            B[1]=B[2],B[2]=B[3];
            S[3]=S[1]%S[2];
        }
        if(abs(c)%S[2]==0) out<< A[2]*(c/S[2]) <<' '<< B[2]*(c/S[2]) <<'\n';
        else out<<"0 0\n";
    }
    return 0;
}