Cod sursa(job #352720)

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

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

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