Pagini recente » Cod sursa (job #297303) | Cod sursa (job #747180) | Cod sursa (job #1088301) | Cod sursa (job #669903) | Cod sursa (job #1642404)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("inversmodular.in");
ofstream fout ("inversmodular.out");
void inv_mod(long long &x, long long &y, int a, int b)
{
if(b==0)
{
x=1, y=0;
return;
}
inv_mod(x, y, b, a%b);
long long aux=x;
x=y, y=aux-y*(a/b);
}
int main()
{
ios_base::sync_with_stdio(false);
int a, n;
long long inv=0, ins;
fin >> a >> n;
inv_mod(inv, ins, a, n);
if (inv<=0) inv=n+inv%n;
fout << inv;
fin.close();
fout.close();
return 0;
}