Cod sursa(job #2219918)

Utilizator antracodsAntracod antracods Data 10 iulie 2018 00:05:43
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>

using namespace std;

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

lgpow(int x,int y)
{
    int sol=x;
    int aux=1;
    while(y>0)
    {
        if(y%2==0)
        {
            sol=sol*sol;
            y=y/2;
        }
        else
        {
            y--;
            aux=aux*x;
        }
    }
    return sol*aux;
}

int main()
{
    int x,y;
    in>>x>>y;
    out<<lgpow(x,y-1);
}