Cod sursa(job #412372)

Utilizator NemultumituMatei Ionita Nemultumitu Data 5 martie 2010 15:39:47
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <cstdio>
long long n,p,imp=1999999973;

long long pute(int n,int p)
{
	if (p==1)
		return n;
	if (p&1)
		return (pute(n,(p+1)/2)*pute(n,(p-1)/2))%imp;
	else
		return (pute(n,p/2)*pute(n,p/2))%imp;
}

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