Cod sursa(job #848984)

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

#define m 1999999973
long long n,p;
long long sol;
int main()
{
	int i;
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	
	scanf("%lld %lld",&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);
}