Cod sursa(job #1171782)
| Utilizator | Data | 16 aprilie 2014 13:00:43 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid extins | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
#define inFile "euclid3.in"
#define outFile "euclid3.out"
using namespace std;
int cmmdc(int a,int b,int &x,int &y)
{
int x0,y0,d;
if(b==0){x=1,y=0;return a;}
d=cmmdc(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
return d;
}
int main()
{
int t,a,d,b,c,k,x,y;
ifstream fin(inFile);
ofstream fout(outFile);
fin>>t;
for(k=1;k<=t;k++)
{
fin>>a>>b>>c;
d=cmmdc(a,b,x,y);
if(c%d==1){
fout<<"0 0\n";
continue;}
else
{
x*=c/d;
y*=c/d;
fout<<x<<" "<<y<<"\n";
}
}
}
