Cod sursa(job #1286706)

Utilizator refugiatBoni Daniel Stefan refugiat Data 7 decembrie 2014 13:01:27
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int cmmdc(int a,int b)
{
    int r;
    while(b!=0)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
void euclid(int a,int b,int &x,int &y)
{
    if(b==0)
    {
        x=1;
        y=0;
    }
    else
    {
        int i,j;
        euclid(b,a%b,i,j);
        x=j;
        y=i-(a/b)*j;
    }
}
int main()
{
    ifstream si;
    si.open("euclid3.in");
    ofstream so;
    so.open("euclid3.out");
    int t;
    si>>t;
    int i,a,b,c,d;
    for(i=0;i<t;++i)
    {
        si>>a>>b>>c;
        d=cmmdc(a,b);
        if(c%d!=0)
            so<<0<<' '<<0;
        else
        {
            int x,y;
            euclid(a,b,x,y);
            so<<x*(c/d)<<' '<<y*(c/d);
        }
        so<<endl;
    }
}