Cod sursa(job #627489)

Utilizator the_snyper06FMI - ALexandru Mihai the_snyper06 Data 30 octombrie 2011 02:11:42
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<cstdio>

int n, p;

long long PutereLog(int n, int p)
{
	long long x = n;
	p--;
	
	while(p > 0)
	{
		if(p & 1)
		{
			x = x * n;
			p--;
		}
		else
		{
			x = x * x;
			p /= 2;
		}
		
		x %= 1999999973;
		
	}
	
	return x;
}

int main()
{
	freopen("lgput.in", "r", stdin);
	freopen("lgput.out", "w", stdout);
	
	scanf("%d %d", &n, &p);	
	printf("%lld\n", PutereLog(n, p));
	
	return 0;
}