Pagini recente » Cod sursa (job #2890836) | Cod sursa (job #1938409) | Cod sursa (job #716966) | Cod sursa (job #1635575) | Cod sursa (job #2171056)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <utility>
#include <vector>
#include <queue>
#include <stack>
typedef long long int lli;
lli MODULO;
using namespace std;
lli my_pow(lli b, lli p)
{
if (p == 0) return 1;
if (p == 1) return b;
if (p % 2 == 0) return my_pow(b * b % MODULO, p / 2) % MODULO;
return (b * my_pow(b * b % MODULO, (p - 1) / 2)) % MODULO;
}
int main()
{
lli b, p;
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
in >> b >> p;
MODULO = p;
out << my_pow(b, p - 2) << "\n";
return 0;
}