Cod sursa(job #1602892)
| Utilizator | Data | 16 februarie 2016 23:23:54 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
long long exprapid(long long n, long long p){
long long r = 1;
while(p){
if(p % 2 == 1){
r = (r * n) % 1999999973;
p = p - 1;
}
n = (n * n) % 1999999973;
p = p /2;
}
return r;
}
int main(){
FILE *in, *out;
in = fopen("lgput.in", "r");
out = fopen("lgput.out", "w");
long long result = 0, N, P;
fscanf(in, "%lld %lld", &N, &P);
result = exprapid(N, P);
fprintf(out, "%lld\n", result);
fclose(in);
fclose(out);
return 0;
}