Cod sursa(job #2371217)
Utilizator | Data | 6 martie 2019 16:47:19 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <iostream>
#include <cstdio>
#define ll long long
using namespace std;
ll pow(ll base, ll exp){
if(exp == 1)
return base;
if(exp%2==0)
return pow(base*base, exp/2);
return base*pow(base*base, exp/2);
}
int main() {
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
ll a, b;
cin >> a >> b;
cout << pow(a, b);
return 0;
}