Pagini recente » Cod sursa (job #436188) | Cod sursa (job #2315994) | Cod sursa (job #2549414) | Cod sursa (job #2677718) | Cod sursa (job #2254630)
#include <fstream>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
typedef long long Int;
Int n,a,x,y,c,cmmdc(Int,Int,Int&,Int&);
int main()
{
f>>a>>n;
cmmdc(a,n,x,y);
if(x<0){int c=-x/n;x+=(c+1)*n;}
x=x%n;
g<<x;
return 0;
}
Int cmmdc(Int a,Int b,Int &x, Int &y)
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
Int X,Y,D;
D = cmmdc(b,a%b, X,Y);
x = Y;
y = X-a/b*Y;
return D;
}