Cod sursa(job #2201659)
| Utilizator | Data | 5 mai 2018 14:25:25 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
#define a$b $(a, b)
long long MOD;
long long logpow(long long val, long long exp) {
long long ans(1), aux(val);
while (exp > 0) {
if (exp&1) {
ans = 1LL * ans * aux % MOD;
}
exp>>=1;
aux = 1LL * aux * aux % MOD;
}
return ans;
}
int main()
{
long long a, b;
cin >> a >> b;
MOD = b;
cout << logpow(a,MOD - 2);
return 0;
}
