Cod sursa(job #211832)

Utilizator SheepBOYFelix Liviu SheepBOY Data 3 octombrie 2008 18:39:15
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<stdio.h>

int main()
{
	long long n=0,p=0;
	long long a=1;
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld %lld",&n,&p);
	while(p)
	{
		if(p&1)a*=n;
		n*=n;
		p>>=1;
	}
	if(a<1999999973)
		printf("%lld",a);
	if(a==1999999973)
		printf("0");
	if(a>1999999973)
	{	while(a>=1999999973)
			a-=1999999973;
		printf("%lld",a);
	}
		return 0;
}