Cod sursa(job #1205687)

Utilizator avalalexandra aval Data 7 iulie 2014 18:01:17
Problema Algoritmul lui Euclid extins Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include<fstream>
using namespace std;
int cmmdc(long a,long b)
{
    int  c;
    while(b)
    {
        c=a%b;
        a=b;
        b=c;
    }
    return a;
}
int main()
{
  long a,b,c,m,l,x,y,i,ok,t;
  ifstream f("euclid3.in");
  ofstream g("euclid3.out");
  f>>t;
  for(i=1;i<=t;i++)
  {
      f>>a>>b>>c;
      l=cmmdc(a,b);
      if(c%l!=0)
       g<<0<<" "<<0<<'\n';
      else
      {
          a=a/l;b=b/l;c=c/l;
          m=b;
          ok=0;
          while(ok==0)
          {
              if((m-c)%a==0)
              {
                  x=(m-c)/(-a);
                  y=(c-a*x)/b;
                  ok=1;
              }
              else
              {
                  m=m+b;
              }
          }
         g<<x<<" "<<y<<"\n";
      }
  }
  f.close();
  g.close();
    return 0;
}