Cod sursa(job #173054)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 7 aprilie 2008 09:57:55
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.35 kb
#include <stdio.h>
const int Nmax=10000;
const int mod=1999999973;
int main(){
	int i,n,p;
	long long sol=1,a;
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%d%d",&n,&p);
	a=n;
	for (i=0;(1<<i)<=p;++i){
		if ( ((1<<i) & p) > 0) 
			sol= (sol * a) % mod; 
		a=(a * a) % mod; 
	}
	printf("%lld\n",sol);
	return 0;
}