Cod sursa(job #2529150)
Utilizator | Data | 22 ianuarie 2020 23:23:35 | |
---|---|---|---|
Problema | Invers modular | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream f ("inversmodular.in");
ofstream g ("inversmodular.out");
int a, n, mod;
int ridicare (int x, int p)
{
int ans = 1;
while (p)
{
if (p % 2 == 1)
ans = ( 1LL * ans * x ) % mod;
x = ( 1LL * x * x ) % mod;
p /= 2;
}
return ans;
}
int main()
{
f >> a >> n;
mod = n;
g << ridicare(a, n-2);
return 0;
}