Pagini recente » Cod sursa (job #268380) | Cod sursa (job #1935090) | Cod sursa (job #1996296) | Cod sursa (job #1052149) | Cod sursa (job #1602793)
#include <stdio.h>
long long exprapid(long long N, long long P){
if(P < 0) {
N = 1 / N;
P = -P;
}
if(P == 0) return 1;
int Y = 1;
while(P > 1){
if(P % 2 == 0){
N = N * N;
P = P / 2;
}
else{
Y = N * Y;
N = N * N;
P = (P - 1) / 2;
}
}
return N * Y;
}
int main(){
FILE *in, *out;
in = fopen("lgput.in", "r");
out = fopen("lgput.out", "w");
long long rest = 0, result = 0, N, P;
fscanf(in, "%lld %lld", &N, &P);
printf("N = %lld P = %lld\n", N, P);
result = exprapid(N, P);
printf("result = %lld\n", result);
rest = result % 1999999973;
fprintf(out, "%lld\n", rest);
fclose(in);
fclose(out);
return 0;
}