Pagini recente » Cod sursa (job #121405) | Cod sursa (job #927204) | Cod sursa (job #2195726) | Cod sursa (job #2266297) | Cod sursa (job #2211144)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
int cmmdc(int a, int b, int &x, int &y)
{
if(b==0)
{
x=1; y=0;
return a;
}
int ans = cmmdc(b, a%b, x, y);
int aux = x;
x = y;
y = aux - y*(a/b);
return ans;
}
int main()
{
int a, mod, x, y;
in>>a>>mod;
cmmdc(a,mod,x,y);
while(x<0)
x=x+mod;
out<<x;
}
/*
int n, a, b, x, y, c;
int cmmdc(int a, int b, int &x, int &y)
{
if(b==0)
{
x=1; y=0;
return a;
}
int ans = cmmdc(b, a%b, x, y);
int aux = x;
x = y;
y = aux - y*(a/b);
return ans;
}
int main()
{
in>>n;
for(int i=1; i<=n; i++)
{
in>>a>>b>>c;
int d = cmmdc(a, b, x, y);
if(c%d == 0)
out<<(c/d)*x<<' '<<(c/d)*y<<'\n';
else out<<"0 0"<<'\n';
}
return 0;
}
*/