Cod sursa(job #3211057)

Utilizator user039130Walter White user039130 Data 8 martie 2024 12:03:33
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.35 kb
#include <iostream>
using namespace std;

int putere(int x, int y)
{
    if (y == 0) return 1;
    else return x * putere(x, y - 1);
}

int lgput(int x, int n)
{
    if (n == 0) return 1;
    if (n % 2 == 1) return x * putere(putere(x, 2), (n - 1) / 2);
    else return putere(putere(x, 2), n / 2);
}

int main()
{
    cout << lgput(2, 4);
    return 0;
}