Cod sursa(job #3249638)
| Utilizator | Data | 17 octombrie 2024 13:37:18 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
#define MOD 1999999973
int fastexp(unsigned int b, unsigned int e){
int p = 1;
while(e){
if(e&1) p = (long long)p*b%MOD;
b = (long long)b*b%MOD;
e/=2;
}
return p;
}
int main(){
unsigned int x, y;
FILE *fin, *fout;
fin = fopen("lgput.in", "r");
fscanf(fin, "%d%d", &x, &y);
fclose(fin);
fout = fopen("lgput.out", "w");
fprintf(fout, "%d", fastexp(x, y));
fclose(fout);
return 0;
}
