Pagini recente » Cod sursa (job #904844) | Cod sursa (job #1573258) | Cod sursa (job #2621168) | Cod sursa (job #2291098) | Cod sursa (job #981197)
Cod sursa(job #981197)
#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 % DIVIDER;
}
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));
return 0;
}