Cod sursa(job #520469)

Utilizator soriynSorin Rita soriyn Data 8 ianuarie 2011 20:46:21
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>


const int mod=2011;

long long rid(long long n,long long p)
{
	long long a,sol=1;
	unsigned int i;
	a=n;
	for(i=0;(1<<i) <=p;++i)
	{
		if(((1<<i)&p)>0)
			sol=(sol*a)%mod;
		a=(a*a)%mod;
	}
	return sol;
	
}
	
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	
	long long n,m,sol;
	
	scanf("%lld %lld",&n,&m);
	
	sol=rid(n,m);
	printf("%lld",sol);
}