Cod sursa(job #767750)

Utilizator batistaUPB-Oprea-Cosmin-Dumitru batista Data 14 iulie 2012 18:22:26
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<cstdio>
using namespace std;
unsigned long p,n;//1999999973
long long putere(unsigned long p)
{
	if(p==1)return n;
	 if(p%2!=0)
	  {
           long long d=putere(p/2);
	   return n*d*d;
	  }
	if(p%2==0)
	  {
	   long long d=putere(p/2);
	   return d*d;
	  }
}
int main()
{
	freopen("lgput.in","r",stdin);freopen("lgput.out","w",stdout);
	scanf("%ld %ld",&n,&p);
	printf("%ld",putere(p));
return 0;}