Cod sursa(job #2030539)
| Utilizator | Data | 1 octombrie 2017 19:14:36 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
///constexpr
ll mod = 666013;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
constexpr ll exp_mod(const ll baza, const ll exponent, const ll rez){
return exponent == 0 ? rez : exp_mod((baza*baza)%mod, exponent / 2,
(rez * (exponent%2 ? baza : 1ll))%mod); }
ll inv_mod(const ll x){
return exp_mod(x, mod - 2, 1ll); }
int main()
{
ll a,n,x;
fin>>a>>mod;
x=inv_mod(a);
fout<<x;
return 0;
}
