Cod sursa(job #660821)
| Utilizator | Data | 13 ianuarie 2012 13:28:32 | |
|---|---|---|---|
| Problema | Algoritmul lui Euclid extins | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<fstream>
using namespace std;
long a,b,d,x,y,z,n,i;
void euclid(long a,long b,long &z,long &x,long &y)
{
long x0,y0;
if (b==0){
z=a;
x=1;
y=0;
}
else {
euclid(b,a%b,z,x0,y0);
x=y0;
y = x0 - (a / b) * y0;
}
}
int main(){
ifstream f("euclid3.in");
ofstream g("euclid3.out");
f>>n;
for (i=1;i<=n;i++){
f>>a>>b>>d;
euclid(a,b,z,x,y);
if (d%z==0) g<<x*(d/z)<<" "<<y*(d/z)<<"\n";
else g<<"0 0"<<"\n";
}
return 0;
}