Cod sursa(job #1006817)
| Utilizator | 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;
}
