Cod sursa(job #212188)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 4 octombrie 2008 16:08:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include <cstdio>
#define M 1999999973
long long n,p,pr;
void read(){
	freopen("lgput.in","r",stdin);
	scanf("%lld%lld",&n,&p);
}
void solve(){
	pr=1;
	n%=M;
	while (p){
		if (p%2)
			pr=pr*n%M;
		n=n*n%M;
		p/=2;
	}
}
void write(){
	freopen("lgput.out","w",stdout);
	printf("%lld\n",pr%M);
}
int main(){
	read();
	solve();
	write();
}