Pagini recente » Cod sursa (job #1345705) | Cod sursa (job #501068) | Diferente pentru problema/paths intre reviziile 9 si 15 | Cod sursa (job #1678321) | Cod sursa (job #3133677)
#include <fstream>
using namespace std;
int a,n,inv,ins;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
void solve(int &x, int &y, int a, int b)
{
if (b==0)
{
x=1;
y=0;
}
else
{
solve(x,y,b,a%b);
int aux=x;
x=y;
y=aux-x*(a/b);
}
}
int main()
{
cin>>a>>n;
solve(inv,ins,a,n);
if (inv<=0) inv=n+inv%n;
cout<<inv;
}