Cod sursa(job #898659)
| Utilizator | Data | 28 februarie 2013 11:16:17 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.4 kb |
#include <cstring>
#include <cstdio>
#include <cmath>
int p[16];
int main() {
FILE * in = fopen("lgput.in", "rt");
FILE * out = fopen("lgput.out", "wt");
int a, b;
fscanf(in, "%d%d", &a, &b);
int p = 1;
int s = a;
while (b) {
if (b % 2) {
p = (p * s) % 1999999973;
}
s = (s * s) % 1999999973;
b /= 2;
}
fprintf(out, "%d\n", p);
fclose(in);
fclose(out);
}
