Cod sursa(job #2124395)
Utilizator | Data | 7 februarie 2018 10:46:14 | |
---|---|---|---|
Problema | Invers modular | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <iostream>
#include <fstream>
std::ifstream f("inversmodular.in");
std::ofstream g("inversmodular.out");
using namespace std;
long long n;
long long my_pow(long long a,long long b)
{
long long r=1;
while(b)
{
if(b%2) {r=(a%n)*(r%n); r%=n;}
a*=a;
a%=n;
b/=2;
}
return r;
}
int main()
{
long long a;
f>>a>>n;
g<<my_pow(a,n-2);
return 0;
}