Cod sursa(job #2124397)
Utilizator | Data | 7 februarie 2018 10:46:25 | |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
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;
long long ridicare_putere(int x, int y){
int r = 1;
while(y){
if(y%2)
r = (r * x) % n;
x = (x * x) % n;
y /= 2;
}
return r;
}
void rezolvare(){
f >> a >> n;
g << (ridicare_putere(a, n - 2);
}
int main(){
rezolvare();
return 0;
}