Cod sursa(job #3136507)

Utilizator ClaudiuppPopa-Panda Claudiu-Ionut Claudiupp Data 6 iunie 2023 17:27:57
Problema Algoritmul lui Euclid extins Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <stdio.h>
#include <stdlib.h>

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

int main ()
{
  int n = 0;
  
  FILE *file_in = NULL;
  FILE * file_out = NULL;

  if((file_in = fopen("euclid3.in","r")) == NULL)
    {
      perror("EROARE LA DESCHIDEREA FISIERULUI DE CITIRE !");
      exit(-1);
    }

  if((file_out = fopen("euclid3.out","w")) == NULL)
    {
      perror("EROARE LA DESCHIDEREA FISIERULUI DE SCRIERE !");
      exit(-1);
    }

  fscanf(file_in,"%d",&n);

  int i = 0;

  int a = 0;
  int b = 0;
  int c = 0;

  int x = 0;
  int y = 0;

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

      euclid(a,b,&c,&x,&y);

      fprintf(file_out,"%d %d \n",x,y);
    }




  return 0;
}