Cod sursa(job #2668779)

Utilizator Remus.RughinisRemus Rughinis Remus.Rughinis Data 5 noiembrie 2020 12:51:55
Problema Algoritmul lui Euclid extins Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>

void euclid(int a,int b,int *x,int *y,int *d){
  if (b == 0){
    *x = 1;
    *y = 0;
    *d = a;
  } else{
    int x0,y0;
    euclid(b, a % b, &x0, &y0, d);
    *x = y0;
    *y = x0 - (a / b) * y0;
  }
}

int main(){
  int n,i,a,b,c,x,y,d;
  FILE *fin, *fout;

  fin=fopen("euclid3.in","r");
  fscanf(fin,"%d",&n);
  fout=fopen("euclid3.out","w");

  for(i=0;i<n;i++){
    fscanf(fin,"%d%d%d",&a,&b,&c);
    euclid(a, b, &x, &y, &d);

    if(c%d==0)
      fprintf(fout,"%d %d\n", x*(c/d), y*(c/d));
    else
      fprintf(fout,"0 0\n");
  }
  fclose(fin);
  fclose(fout);

  return 0;
}