Cod sursa(job #2700926)

Utilizator bogdanc2002Bogdan Colta bogdanc2002 Data 29 ianuarie 2021 12:23:15
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.36 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lgput.in");ofstream fout("lgput.out");
long long int n,p;
long long int exp(int n,int p){
    if(p<0)return exp(1/n,-p);
    else if(p==0)return 1;
    else if(p==1)return n;
    else if(p%2==0)return exp(n*n,p/2);
    else return n*exp(n*n,(p-1)/2);
}
int main() {
fin>>n>>p;
fout<<exp(n,p);
    return 0;
}