Cod sursa(job #1463011)

Utilizator doruliqueDoru MODRISAN dorulique Data 19 iulie 2015 17:06:36
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;

int ct[200];

void ec(int a,int b,int d,int &x,int &y)
{
    int k=0,q=a,w=b,kt,x0,y0,i,r;
    while(w)
    {
        ct[++k]=q/w;
        r=q%w;
        q=w;
        w=r;
    }
    if(d%q){x=0,y=0;return;}
    kt=d/q;
    x=1;y=0;
    for(i=k;i>=1;i--)
    {
        x0=y;
        y0=x-ct[i]*y;
        x=x0;
        y=y0;
    }
    x*=kt;
    y*=kt;
}

int main()
{
    ifstream fin("euclid3.in");
    ofstream fout("euclid3.out");
    int n,a,b,c,x,y,i;
    fin>>n;
    for(i=1;i<=n;i++)
        {
            fin>>a>>b>>c;
            ec(a,b,c,x,y);
            fout<<x<<" "<<y<<"\n";
        }
    return 0;
}