Cod sursa(job #631968)
Utilizator | Data | 9 noiembrie 2011 23:02:21 | |
---|---|---|---|
Problema | Invers modular | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
std::ifstream in ("inversmodular.in");
std::ofstream out ("inversmodular.out");
int x,y,a,n,d,t;
void euclid (int a,int b) {
if (b==0) {
d=a;
x=1;
y=0;
}
else {
euclid (b,a%b);
t=x;
x=-y;
y=a/b*x-t;
}
}
int main () {
in>>a>>n;
euclid (a,n);
while (x<0) x+=n;
out<<x<<"\n";
return 0;
}