Cod sursa(job #331297)

Utilizator pykhNeagoe Alexandru pykh Data 13 iulie 2009 16:27:36
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.32 kb
#include<stdio.h>
int main()
	{
		freopen("lgput.in","r",stdin);
		freopen("lgput.out","w",stdout);
		long r, N, P, pp=2;
		int ok;
		scanf("%ld %ld", &N, &P);
		if(P%2==0)ok=0;
		else {ok=1;P-=1;}
		r=N;
		while(P)
		{
			N*=N;
			P/=pp;
			pp*=pp;
		}
		if(ok)N*=r;
		printf("%ld\n",N);
		return 0;
}