Cod sursa(job #1794500)
Utilizator | Data | 1 noiembrie 2016 12:56:12 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
const int mod = 1999999973;
int p, x, X;
int pow(int x, int p){
if (p == 1){
return x;
}
X = pow(x, p/2);
if(p % 2 == 0){
return (1LL * X * X) % mod;
}
return (((1LL * X * X) % mod) * x) % mod;
}
int main() {
fin >> x >> p;
fout << pow(x, p);
return 0;
}