Pagini recente » Cod sursa (job #1441747) | Cod sursa (job #2709663) | Cod sursa (job #1966656) | Cod sursa (job #1710133) | Cod sursa (job #1893488)
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
void inversmodular(long long a,long long b, long long *x,long long *y)
{
if(b==0)
{
*x = 1;
*y = 0;
return;
}
else
{
long long x0,y0;
inversmodular(b,a%b,&x0,&y0);
*x = y0;
*y = x0 - (a/b)*y0;
}
}
int main()
{
long long a,n,x,y;
fin>>a>>n;
inversmodular(n,a%n,&x,&y);
if(x<=0)
x = n + x%n;
fout<<x;
return 0;
}