Cod sursa(job #682851)
| Utilizator | Data | 19 februarie 2012 17:07:39 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.36 kb |
#include<stdio.h>
#define mod 1999999973
int n, p;
int main(){
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
int i;
long long a, sol = 1;
scanf("%d %d", &n, &p);
a = n;
for(i = 0; (1<<i) <= p; i++){
if((1<<i) & p)
sol = (sol * a) % mod;
a = (a * a) % mod;
}
printf("%lld\n", sol);
fclose(stdin);
fclose(stdout);
return 0;
}
