Pagini recente » Cod sursa (job #2443829) | Cod sursa (job #2380141) | Cod sursa (job #2481232) | Cod sursa (job #44137) | Cod sursa (job #716767)
Cod sursa(job #716767)
#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;
}