Cod sursa(job #1526345)

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

using namespace std;

#define inf 1999999973

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



int timplogaritmic(long long int x,long long 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 x*timplogaritmic(x*x , (n-1)/2);


}

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