Cod sursa(job #149491)

Utilizator radamiRadu Patulescu radami Data 5 martie 2008 19:45:35
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <stdio.h>

#define m 1999999973

int n,p;
int putere (int n,int p)
{
	if (p == 0)
		return 1;
	else
		if (p % 2 == 0)
			return putere(n*n,p/2) % m;
		else
			return (n * putere(n*n,(p-1) / 2)) % m;
	
	
}


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