Cod sursa(job #397785)

Utilizator cameleonGeorgescu Dan cameleon Data 17 februarie 2010 15:06:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.3 kb
#include<stdio.h>
#define mod 1999999973
long long n,p,sol,i;
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld%lld",&n,&p);
	sol=1;
	for(i=31;i>=0;i--)
	{
		sol=(sol*sol)% mod;
		if((1<<i)&p)sol=(sol*n)%mod;
	}
	printf("%lld",sol);
	return 0;
	
}