Cod sursa(job #937341)

Utilizator forgetHow Si Yu forget Data 10 aprilie 2013 03:34:39
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>
using namespace std;

pair<int,int> bezout(int a, int b) {
	if (a == 0) return pair<int,int>(0,b);
	pair<int,int> c = bezout(b%a,a);
	return pair<int,int> (c.second-b/a*c.first,c.first);
}

int main() {
	ifstream fin("inversmodular.in");
	ofstream fout("inversmodular.out");
	int a, n;
	fin >> a >> n;
	int b = bezout(a,n).first%n;
	if (b < 0) b += n;
	fout << b;
	return 0;
}