Cod sursa(job #491219)

Utilizator auRSTARHreapca Aurelian auRSTAR Data 10 octombrie 2010 18:56:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<cstdio>
#define r 1999999973
void read(),solve();
long long a,b,c,d,x,y,z,t,X,Y,Z,T,A,B,C,D,N,P;
int main()
{
	read();
	solve();
	return 0;
}
void read()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld%lld",&N,&P);
}
void solve()
{
	y=1;
	a=N;
	for(;P;P>>=1)
	{
		if(P&1){y*=a;y%=r;}
		a*=a;a%=r;
	}
	printf("%lld",y);
}