Cod sursa(job #682496)

Utilizator michael9ufoStanescu Mihai michael9ufo Data 19 februarie 2012 01:37:41
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>

using namespace std;

long long lpow(long long b, long long e)
{
	long long rez = 1;

	if(e == 0)
		rez = 1;
	else
	{
		
		if(e % 2 == 0)
			rez = lpow(b * b, e / 2);
		else
			rez = lpow(b * b, e / 2) * b;
	
	}
	
	return rez;

}

int main()
{

	FILE *in, *out;
	
	in = fopen("lgput.in", "r");

	out = fopen("lgput.out", "w");
	
	long N, P;
	
	fscanf(in, "%lld %lld", &N, &P);

	fprintf(out, "%lld", lpow(N, P));

	return 0;

}