Cod sursa(job #799485)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 19 octombrie 2012 08:19:50
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<cstdio>
#define N 1999999973
long long int n,p;
long long int exp()
{
	long long int rez=1,i,q=n;
	for(i=p;i;i>>=1)
	{
		if(i&1)
		{
			rez*=q;
			rez%=N;
		}
		q*=q;
		q%=N;
	}
	return rez;
}
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%d%d",&n,&p);
	printf("%d",exp());
	return 0;
}