Cod sursa(job #3209978)
| Utilizator | Data | 4 martie 2024 10:43:06 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
int n, mod;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
long long power(long long nr, long long put, long long mod){
nr %= mod;
if(nr == 0)
return 0;
long long rez = 1;
while(put){
if(put % 2 == 1){
rez *= nr;
rez %= mod;
--put;
}
nr *= nr;
nr %= mod;
put /= 2;
}
return rez;
}
long long invers_modular(int nr, int mod){
return power(nr , mod - 2, mod);
}
int main(){
fin >> n >> mod;
fout << invers_modular(n, mod);
return 0;
}