Cod sursa(job #1938441)
Utilizator | Data | 24 martie 2017 20:15:08 | |
---|---|---|---|
Problema | Invers modular | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
long long A,N;
void euclid(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1;y=0;
}
else
{
euclid(b,a%b,x,y);
long long aux=x;
x=y;
y=aux-y*(a/b);
}
}
int main()
{
f>>A>>N;
int X,Y;
euclid(A,N,X,Y);
if(X<=0)
X=X+X%N;
g<<X;
f.close();
g.close();
}