Pagini recente » Diferente pentru arbori-de-intervale intre reviziile 28 si 27 | Cod sursa (job #2730798) | Diferente pentru problema/3dist intre reviziile 4 si 6 | Cod sursa (job #1809950) | Cod sursa (job #2529150)
#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;
}