Pagini recente » Cod sursa (job #595188) | Cod sursa (job #2460374) | Cod sursa (job #2170142) | Cod sursa (job #1059822) | Cod sursa (job #1602710)
#include <stdio.h>
int exprapid(int N, int P){
if(P < 0) return exprapid(1 / N, -P);
else if(P == 0) return 1;
else if(P == 1) return N;
else if(N % 2 == 0) return exprapid(N * N, P / 2);
else if(N % 2 == 1) return N * exprapid(N * N, (P - 1) / 2);
return N;
}
int main(){
FILE *in, *out;
in = fopen("lgput.in", "r");
out = fopen("lgput.out", "w");
int rest = 0, result, N, P;
fscanf(in, "%d %d", &N, &P);
result = exprapid(N, P);
rest = result % 1999999973;
fprintf(out, "%d\n", rest);
fclose(in);
fclose(out);
return 0;
}