Cod sursa(job #1512259)

Utilizator cristid9Cristi D cristid9 Data 27 octombrie 2015 20:43:29
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>

long long int pow_log(int x, int n)
{
    if (n == 1)
        return x;

    if (n == 0)
        return 1;

    if (n % 2 == 0)
        return pow_log(x * x, n / 2);
    return x * pow_log(x * x, (n - 1) / 2);
}

int main()
{
    int number, power;

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

    in >> number;
    in >> power;

    out << pow_log(number, power) << std::endl;

    in.close();
    out.close();

    return 0;
}