Pagini recente » Cod sursa (job #1813405) | Cod sursa (job #1491410) | Cod sursa (job #2630220) | Cod sursa (job #2744127) | Cod sursa (job #3266132)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
using ll=long long;
ll cb;
void euclid(ll a,ll b,ll *x,ll *y,ll *d)
{
if(b==0)
{
*x=1;
*y=0;
*d=a;
}
else
{
ll x0,y0;
euclid(b,a%b,&x0,&y0,d);
*x=y0;
while(x<0)
x+=cb;
*y=x0-a/b*y0;
}
}
int main()
{
ll a,b,x,y,d;
fin>>a>>b;
cb=b;
euclid(a,b,&x,&y,&d);
fout<<x;
return 0;
}