Pagini recente » Borderou de evaluare (job #1553994) | Borderou de evaluare (job #1137234) | Borderou de evaluare (job #2765925) | Cod sursa (job #215) | Cod sursa (job #1135232)
#include <fstream>
#define L long long
using namespace std;
void gcd(L a,L b,L &x,L &y)
{
if(!b)
{
x=1;
y=0;
return;
}
L x0,y0;
gcd(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
}
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int main()
{
L a,b,x,y;
fin>>a>>b;
gcd(a,b,x,y);
if(x<0)
x=b+x%b;
fout<<x<<"\n";
return 0;
}