Pagini recente » Cod sursa (job #2158815) | Cod sursa (job #1316503) | Cod sursa (job #2666922) | Cod sursa (job #1573130) | Cod sursa (job #2214962)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
#define NR 1999999973
long long putere(long long x, long long y, long long p) {
if (p == 0)
return x % NR;
if (p == 1)
return (x * y) % NR;
if (p % 2 == 0)
return putere((x * x) % NR, y % NR, p / 2);
if (p % 2 == 1)
return putere((x * x) % NR, (x * y) % NR, (p - 1) / 2);
}
int main()
{
long long x, y = 1, N, P;
fin >> N >> P;
/* x = N;
for (i = 0; (1 << i) <= P; i++) {
if ((1 << i) & P)
y = y * x;
x = x * x;
}*/
if (P == 0)
fout << 1;
else
fout << putere(N,1,P);
}