Cod sursa(job #547384)

Utilizator George25Raduta George Cristian George25 Data 6 martie 2011 12:09:25
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<stdio.h>
long long n,p,k;
int main(){
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld %lld",&n,&p);
	k=p;
	p=1;
	while (k>0){
		if (k%2==0){
			n=n*n;
			k=k/2;
		}
		else {
			p=p*n;
			k=k-1;
		}
		if (p>1999999973) p=p%1999999973;
		if (n>1999999973) n=n%1999999973;
	}
	printf("%lld",p);
	return(0);
}