Cod sursa(job #1006817)

Utilizator Corina1997Todoran Ana-Corina Corina1997 Data 7 octombrie 2013 20:02:06
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
using namespace std;

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

long long Pow ( int N, int P );

int main()
{
    unsigned N, P;
    is >> N >> P;
    os << Pow( N, P );
    is.close();
    os.close();
    return 0;
}

long long Pow ( int N, int P )
{
    if ( P == 0 )   return 1;
    if ( P == 1 )   return N;
    long long aux = Pow ( N, P / 2 );
    aux *= aux;
    if ( P % 2 == 1 )
        aux *= N;
    return aux;
}