Cod sursa(job #1477415)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 26 august 2015 10:53:26
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>
using namespace std;

int A, B, C, D, X, Y;

void GCD(int A, int B, int &X, int &Y, int &D){
	if(B == 0){
		X = 1;
		Y = 0;
		D = A;
	} else {
		int X0, Y0;

		GCD(B, A % B, X0, Y0, D);

		X = Y0;
		Y = X0 - (A / B) * Y0;
	} return;
}

int main(){

	freopen("inversmodular.in" ,"r", stdin );
	freopen("inversmodular.out","w", stdout);

	scanf("%d %d", &A, &B);

	GCD(A, B, X, Y, D);

    if(X < 0)
        X = B + X % B;

	printf("%d\n", X);

	fclose(stdin );
	fclose(stdout);

	return 0;
}