Cod sursa(job #352733)

Utilizator nightwish0031Vlad Radu Cristian nightwish0031 Data 3 octombrie 2009 12:39:28
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>
#define MODULO 1999999973


long exp(long x,long p)
{
	if (p==0) return 1;
	 
	if (p%2==0)
	{
		return (exp ( ( ( (long long) x*x ) %MODULO ) , p/2 )  %MODULO);	
	}
	if (p%2==1)
	{
		return (( exp( (((long long)x*x)%MODULO),p/2  )%MODULO )   *((long long)x)%MODULO);
	}
	
	
}

int main()
{
	long n,x;
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	
	
	scanf("%ld%ld",&x,&n);
		
	printf("%ld",exp(x,n));
	
	return 0;
}