Cod sursa(job #371835)

Utilizator avram_florinavram florin constantin avram_florin Data 7 decembrie 2009 09:50:51
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
//ridicare la putere in timp logaritmic
//infoarena -> arhiva educationala lgput
#include<cstdio>
using namespace std;
unsigned long long x,y;
unsigned long long n,m,p,r;
int main ()
{
	freopen("lgput.in" , "r" , stdin);
	freopen("lgput.out" , "w" , stdout);
	scanf("%d%d" ,  &n , &p);
	m=1999999973;
	r=1;
	while(p)
		{
			if(p%2)
				r=(r*n)%m;
			n=(n*n)%m;
			p/=2;
		}
	printf("%lld\n" , r);
	return 0;
}