Pagini recente » Diferente pentru problema/necromancer intre reviziile 7 si 2 | Cod sursa (job #2119258) | Diferente pentru problema/nomem intre reviziile 8 si 7 | Diferente pentru problema/arbciclu intre reviziile 13 si 2 | Cod sursa (job #1347404)
#include <stdio.h>
#define a 1999999973
int power(int number, int pow)
{
if (pow == 0)
return 1;
if (pow == 1)
return number % a;
int tmp = pow / 2;
if (pow % 2 == 1)
return number * power(number * number, tmp) % a;
return power(number * number, tmp) % a;
}
int main(void)
{
FILE *f_in = fopen("lgput.in", "rt");
FILE *f_out = fopen("lgput.out", "wt");
int num, pow;
fscanf(f_in, "%d %d", &num, &pow);
fprintf(f_out, "%d", power(num, pow));
return 0;
}