Cod sursa(job #2562429)

Utilizator Simionescu_RaulSimionescu Raul Simionescu_Raul Data 29 februarie 2020 14:18:43
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
int lgput(int x, int n)
{
    if(n<0)
        return lgput(1/x,-n);
    if(n==0)
        return 1;
    if(n==1)
        return x;
    if(n%2==0)
        return lgput(x*x,n/2);
    if(n%2!=0)
        return x*lgput(x*x,(n-1)/2);

}
int main()
{
    int n,m;
    cin>>n>>m;
    cout<<lgput(n,m);
        return 0;
}