Pagini recente » Borderou de evaluare (job #2819887) | Borderou de evaluare (job #1647870) | Borderou de evaluare (job #1270732) | Borderou de evaluare (job #494003) | Cod sursa (job #3161705)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
void euclid(long long a, long long b, long long &x, long long &y)
{
if(b==0)
{
x=1;
y=0;
}
else
{
euclid(b, a%b, x, y);
int aux=x;
x=y;
y=aux-(a/b)*x;
}
}
int main()
{
long long a, n;
fin>>a>>n;
long long x=0, y;
euclid(a, n, x, y);
while(x<0)
{
x+=n;
}
fout<<x;
return 0;
}