Cod sursa(job #2292624)
| Utilizator | Data | 29 noiembrie 2018 19:17:38 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
FILE *fin, *fout;
long long int x, exp, baza, rasp=1;
fin = fopen("lgput.in", "r");
fout = fopen("lgput.out", "w");
fscanf(fin,"%lld%lld", &x, &exp);
baza=x;
while(exp>1){
if(exp%2==1)
rasp=(rasp*baza)%1999999973;
baza=(baza*baza)%1999999973;
exp/=2;
}
rasp=(rasp*baza)%1999999973;
fprintf(fout,"%lld", rasp);
fclose(fin);
fclose(fout);
return 0;
}
