Cod sursa(job #1459741)

Utilizator perjulucianPerju Lucian Ionut perjulucian Data 10 iulie 2015 17:52:39
Problema Algoritmul lui Euclid extins Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.86 kb
#include <stdio.h>
#include <stdlib.h>

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

int main(){
    FILE * in = fopen("euclid3.in","r");
    FILE * out = fopen("euclid3.out","w");
    int T ;
    fscanf(in,"%d",&T);
    int a,b,c;
    int i ;
    int x,y,d;
    int multiply ;
    for(i = 0 ; i< T ;i++){
        fscanf(in,"%d %d %d",&a,&b,&c);
        euclid_e(a,b,&d,&x,&y);
        if(c % d != 0)
            fprintf(out,"%d %d\n",0,0 );
        else{
            multiply = c / d ;
            printf("%f\n",(float)c/d );
            
            fprintf(out, "%d %d\n",multiply * x,multiply * y );
        }    
    }
    fclose(in);
    fclose(out);
    return 0 ; 
}