Cod sursa(job #483213)

Utilizator mottyMatei-Dan Epure motty Data 7 septembrie 2010 13:32:30
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
//Ridicare la putere in timp logaritmic
#include<stdio.h>

const int MOD=1999999973;

inline long long Pow( long long n, long long p)
{
	if(p==1)
		return n%MOD;
	if(p%2)
		return (Pow((n*n)%MOD,p/2)*n)%MOD;
	return (Pow((n*n)%MOD,p/2))%MOD;
}

int main()
{
	long long n, p;
	
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	
	scanf("%lld%lld",&n,&p);
	n%=MOD;
	
	printf("%lld\n",Pow( n, p));
	
	return 0;
}