Cod sursa(job #279488)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 12 martie 2009 20:45:18
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include<stdio.h>
int tc;
int sir[10000];
int cmmdc;
int x;
int y;
int PCalcul(int aux1, int aux2)
{
    sir[0] = 0;
    while (aux2 != 0)
     {
         sir[++sir[0]] = aux1 / aux2;
         int aux = aux2;
         aux2 = aux1 % aux2;
         aux1 = aux;
     }
    cmmdc = aux1;
}
int Solve()
{
    x = 1;
    y = 0;
    for(int i = sir[0]; i > 0; i--)
     {
         int aux = x;
         x = y;
         y = aux - sir[i] * y;
     }
}

int main()
{
    freopen("euclid3.in","r",stdin);
    freopen("euclid3.out","w",stdout);
    scanf("%d",&tc);
    while (tc)
     {
         int a,b,c;
         scanf("%d %d %d",&a,&b,&c);
         PCalcul(a,b);
         Solve();
         tc--;
         if (c % cmmdc)
          printf("0 0\n");
          else
               printf("%d %d\n", x * (c / cmmdc), y * (c / cmmdc));
     }

    return 0;
}