Cod sursa(job #3211058)

Utilizator user039130Walter White user039130 Data 8 martie 2024 12:04:36
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
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);
}
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int main() 
{
    int x, y;
    fin >> x >> y;
    fout << lgput(x,y);
    return 0;
}