Cod sursa(job #151172)

Utilizator a7893Nae Mihai a7893 Data 7 martie 2008 21:13:52
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
#define R 1999999973
long long n,p,a,b;
long long power(long long n,long long p)
{
	if(p==0)
		return 1;
	else
		if(p%2==0)
		{
			a=power(n,p/2);
			return (a*a)%R;
		}
		else
		{
			a=power(n,p/2);
			b=(a*a)%R;
			return (b*n)%R;
		}
}
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld%lld",&n,&p);
	printf("%lld\n",power(n,p));
	return 0;
}