Cod sursa(job #848983)

Utilizator alinaelenaFMI Colceag Alina alinaelena Data 5 ianuarie 2013 22:43:01
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.33 kb
#include<cstdio>
using namespace std;

#define m 1999999973
int n,p;
long long sol;
int main()
{
	int i;
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	
	scanf("%d %d",&n,&p);
	sol=1;
	i=0;
	while ((1<<i)<=p)
	{
		if ((1<<i)&p) sol=(sol*n)%m;
		n=(n*n)%m;
		i++;
	}
	
	printf("%lld\n",sol);
}