Cod sursa(job #1462584)

Utilizator dex4Darjan Catalin dex4 Data 18 iulie 2015 16:13:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
#define m 1999999973;
using namespace std;

long long lg_pow(int x, int 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;
}