Cod sursa(job #146318)
Utilizator | Data | 1 martie 2008 15:47:06 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.32 kb |
#include <cstdio>
const int MOD = 1999999973;
int main(void) {
freopen("lgput.in", "rt", stdin);
freopen("lgput.out", "wt", stdout);
int N, P, R;
scanf(" %d %d", &N, &P);
for (R = 1; P; P >>= 1) {
if (P & 1)
R = ( (long long) R * N ) % MOD;
N = ( (long long) N * N ) % MOD;
}
printf("%d\n", R);
return 0;
}