Cod sursa(job #2545911)
Utilizator | Data | 13 februarie 2020 17:48:51 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int MOD = 1999999973;
ll lgput(ll n, ll p){
if(!p)return 1;
if(p & 1)
return n * lgput(n, p - 1);
return lgput(n * n, p / 2);
}
int main(){
ifstream cin("lgput.in");
ofstream cout("lgput.out");
ll n, p;
cin >> n >> p;
cout << lgput(n, p) << '\n';
cin.close(), cout.close();
}