Cod sursa(job #2900832)
| Utilizator | Data | 12 mai 2022 11:07:15 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
std::ifstream fin("inversmodular.in");
std::ofstream fout("inversmodular.out");
long long int x, MOD, aux;
inline long long int exp(long long int b, long long int e) {
if (e == 0)
return 1;
if (e == 1)
return b % MOD;
if (e & 1)
return (exp(b, e - 1) * b) % MOD;
aux = exp(b, (e >> 1)) % MOD;
return aux * aux % MOD;
}
int main() {
fin >> x >> MOD;
fout << exp(x, MOD - 2);
return 0;
}
