Pagini recente » Cod sursa (job #1306107) | Cod sursa (job #144539) | Cod sursa (job #2157315) | Cod sursa (job #92370) | Cod sursa (job #981206)
Cod sursa(job #981206)
#include <stdio.h>
#define DIVIDER 1999999973
long long pow1(unsigned a, unsigned b)
{
long long exp = a;
while (--b)
exp = (exp * a) % DIVIDER;
return exp;
}
long long pow2(unsigned a, unsigned b)
{
long long exp = 0;
if (b == 0) return 1;
if (b == 1) return a;
exp = pow2(a, b/2) * pow2(a, b/2);
if (b%2) exp *= a;
return exp;
}
int main()
{
unsigned N, P;
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
scanf("%d %d", &N, &P);
printf("%lld\n", pow2(N, P)%DIVIDER);
return 0;
}