Cod sursa(job #1329047)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 28 ianuarie 2015 23:29:00
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>

#pragma warning(push)
#pragma warning(disable: 4996)

int A, N;

void gcd(int &x, int &y, int a, int b)
{
	if (!b)
	{
		x = 1;
		y = 0;
	}
	else
	{
		gcd(x, y, b, a % b);
		int aux = x;
		x = y;
		y = aux - y * (a / b);
	}

}

int main()
{
	int inv, ins;

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

	scanf("%d%d", &A, &N);
	gcd(inv, ins, A, N);

	if (inv < 0)
		inv = N + inv % N;

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

	return 0;
}

#pragma warning(pop)