Cod sursa(job #434663)

Utilizator nashnash mit nash Data 6 aprilie 2010 13:20:03
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <stdio.h>

#define MOD 1999999973
unsigned n,p;

unsigned exp(unsigned n,unsigned p) {
	if(p == 1) return n % MOD;
	
	unsigned int val = exp(n,p/2);
	val = (val * val) % MOD;
	
	if(p % 2 == 0) return val ;
		
	return (val * exp(n,1)) % MOD;
}

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