Cod sursa(job #3136398)

Utilizator rose.stoicaStoica Rose-Marie rose.stoica Data 6 iunie 2023 10:16:16
Problema Algoritmul lui Euclid extins Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <stdio.h>


int euclid(int a,int b,int *x,int *y)
{
    if (b == 0) {
        
        *x=1;
        *y=0;
        return a;
    } else {
        int xx, yy,d;
        d=euclid(b,a%b,&xx,&yy);
        *x=yy;
        *y=xx-(a/b)*yy;
        return d;
    }
}

int main(void)
{
    int n,a,b,c,x,y;
    FILE * f1=fopen("euclid3.in","r");
    FILE * f2=fopen("euclid3.out","w");
    fscanf(f1,"%d",&n);
    for(int i=0;i<n;i++)
    {
        fscanf(f1,"%d%d%d",&a,&b,&c);
        int d=euclid(a,b,&x,&y);
        if(c%d!=0)
        {
            fprintf(f2," 0 0 \n");
        }
        else
        {
            fprintf(f2," %d %d \n",x*(c/d), y*(c/d));
        }
    }

    return 0;
}