Pagini recente » Cod sursa (job #1085788) | Cod sursa (job #3177489) | Cod sursa (job #2643862) | Cod sursa (job #3186595) | Cod sursa (job #3230490)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long divizor;
int logPower(int n, int p)
{
if(p == 1)
return n;
if(p % 2 == 0)
{
long power = logPower(n, p/2);
long rest = power % divizor;
return (rest * rest) % divizor;
}
else
{
long power = logPower(n, (p-1) / 2);
long rest = power % divizor;
return (((rest * rest) % divizor) * n) % divizor;
}
}
int main()
{
int n, p;
fin >> n >> p;
long t;
divizor = 1999999973;
t = logPower(n, p);
fout << t;
return 0;
}