Cod sursa(job #1182433)

Utilizator MarianMMorosac George Marian MarianM Data 6 mai 2014 13:31:28
Problema Invers modular Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;

ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");

int A, B, i = 1;
int x, y;

int V[][2] = {1, 0, 0, 1, 0, 0};

void GCD(int A, int B){
	if (B == 0) return;
	else {
		i++;
		V[i % 3][0] = V[(i - 2) % 3][0] - (A / B)*V[(i - 1) % 3][0];
		V[i % 3][1] = V[(i - 2) % 3][1] - (A / B)*V[(i - 1) % 3][1];
		return GCD(B, A%B);
	}
}

int main(){

	fin >> A >> B;

	GCD(B, A);

	fout << (V[(i-1) % 3][1] + B) % B;

	return 0;
}