Cod sursa(job #2781149)

Utilizator MilitaruMihaiMihaiMIlitaru MilitaruMihai Data 8 octombrie 2021 17:16:25
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
long long n,i,a,b,c,t,r,cb,j;
struct abc
{
    int a,b,x,y;
} v[10001];
int main()
{
    fin>>n;
    for (j=1; j<=n; j++)
    {
        fin>>a>>b>>cb;
        t=1;
        v[1].a=a;
        v[1].b=b;
        while (b!=0)
        {
            r=a%b;
            a=b;
            b=r;
            v[++t].a=a;
            v[t].b=b;
            //cout<<v[t].a<<" "<<v[t].b<<'\n';
        }
        if (cb%a==0)
        {
            v[t].x=1;
            v[t].y=0;
            t--;
            for (i=t; i>=1; i--)
            {
                c=v[i].a/v[i].b;
                v[i].x=v[i+1].y;
                v[i].y=v[i+1].x-c*v[i+1].y;
            }
            fout<<v[1].x*cb/a<<" "<<v[1].y*cb/a<<'\n';
        }
        else fout<<0<<' '<<0<<'\n';
    }
    return 0;
}