Cod sursa(job #1811929)
Utilizator | Data | 21 noiembrie 2016 18:30:46 | |
---|---|---|---|
Problema | Invers modular | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
# include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int a,b,x,y;
int euclid(int a,int b,int &x,int &y){
int r,xa,ya;
if(!b){
x=1;
y=0;
return a;
}
r=euclid(b,a%b,xa,ya);
x=ya;
y=xa-(a/b)*ya;
return r;
}
int main () {
fin>>a>>b;
euclid(a,b,x,y);
x%=b;
if(x<0)
x+=b;
fout<<x<<"\n";
return 0;
}