Cod sursa(job #1526323)

Utilizator SirStevensIonut Morosan SirStevens Data 16 noiembrie 2015 09:25:38
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("lgput.in");
ofstream out("lgput.out");



int timplogaritmic(int x,int n)
{
    if(n<0) return timplogaritmic(1/x, -n);
    else if(n == 0) return 1;
    else if(n == 1) return x;
    else if(n%2 == 0) return timplogaritmic(x*x , n/2);
    else if(n%2 != 0) return timplogaritmic(x*x , (n-1)/2);


}

int main()
{
    int n,x;
    in>>x>>n;
    out<<timplogaritmic(x,n);
    return 0;
}