Pagini recente » Cod sursa (job #1499359) | Cod sursa (job #809381) | Cod sursa (job #1060202) | Cod sursa (job #45657) | Cod sursa (job #3227187)
#include <stdio.h>
long fast_exp(long long x, long long n) {
int rest = 1999999973;
if(n < 0) {
x = 1 / x;
n = -n;
}
if(n == 0) return 1;
int y = 1;
while(n > 1) {
if(n % 2 != 0) {
y = x * y;
n--;
}
x *= x;
n /= 2;
}
return x * y % rest;
}
int main() {
long long N, P;
FILE *in = fopen("lgput.in", "r");
FILE *out = fopen("lgput.out", "w");
fscanf(in, "%lld %lld", &N, &P);
fclose(in);
fprintf(out, "%lld", fast_exp(N, P));
fclose(out);
return 0;
}