Cod sursa(job #716773)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 19 martie 2012 11:25:46
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#include <algorithm>
#include <utility>
#define mp make_pair
#define f first
#define s second
using namespace std;
pair<int,int> euclid(int a,int b)
{
	if(b==0) return mp(1,0);
	pair<int,int> e=euclid(b,a%b);
	swap(e.f,e.s);
	e.s-=e.f*(a/b);
	return e;	
}
int main()
{
	int a,mod;
	pair<int,int>e;
	ifstream fi("inversmodular.in");
	ofstream fo("inversmodular.out");
	fi>>a>>mod;
	e=euclid(a,mod);
	while(e.f<=0) e.f+=mod;
	fo<<e.f<<"\n";
	return 0;
}