Cod sursa(job #1519826)

Utilizator dex4Darjan Catalin dex4 Data 7 noiembrie 2015 21:37:57
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#define m 1999999973;

using namespace std;

long long lg_pow(long long x, long long n){
    if(n == 0)
        return 1;
    else
        if(n == 1)
            return x;
        else
            if(n%2 == 0)
                return lg_pow(x*x, n/2);
            else
                return x*lg_pow(x*x, (n-1)/2);
    }

long long x, n;

int main()
{
    ifstream f("lgput.in");
    ofstream g("lgput.out");

    f >> x >> n;
    g << lg_pow(x, n) % m;

    return 0;
}