Cod sursa(job #2706568)
Utilizator | Data | 15 februarie 2021 12:36:08 | |
---|---|---|---|
Problema | Invers modular | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
long long N;
int P;
long long lgput(long long N, int P, const int MOD){
long long res = 1;
while(P){
if(P & 1) res = (res * N) % MOD;
N = (N * N)% MOD;
P >>= 1LL;
}
return res;
}
int main(){
f >> N >> P;
g << lgput(N, P - 2, P);
}