Cod sursa(job #3357136)

Utilizator Olariu_MarioOlariu Mario Andrei Olariu_Mario Data 6 iunie 2026 16:38:02
Problema Invers modular Scor 50
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void euclid(long long a,long long b,long long *x,long long *y)
{
    if(b==0)
    {
        *x=1;
        *y=0;
        return;
    }
    long long x1,y1;
    euclid(b,a%b,&x1,&y1);
    *x=y1;
    *y=x1-(a/b)*y1;
}

int main()
{
    FILE *file = fopen("inversmodular.in", "r");
    FILE *output = fopen("inversmodular.out", "w");
    if (file == NULL)
    {
        fprintf(stderr, "Eroare deschidere fisier intrare.\n");
        return 1;
    }
    if (output == NULL)
    {
        fprintf(stderr, "Eroare deschidere fisier iesire.\n");
        fclose(file);
        return 1;
    }
    long long a,n;
    long long x,y;
    fscanf(file,"%lld %lld", &a,&n);
    euclid(a,n,&x,&y);
    fprintf(output,"%lld\n", x);
    return 0;
}