Cod sursa(job #146385)

Utilizator savimSerban Andrei Stan savim Data 1 martie 2008 17:30:13
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>
long long a,b,c,i,j,k;
long long t;
long long rec(int b)
{
	if (b==1) return a;
	if (b%2==0)
	{
	   k=rec(b/2);
	   t=((k%c)*(k%c))%c;
	   return t;
	}
	else
	{
	   k=rec(b/2);
	   t=((((k%c)*(k%c))%c) *(a%c))%c;
	   return t;
	}
}
int main()
{


	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);

	scanf("%lld %lld",&a,&b);
    c=1999999973;
    
	printf("%lld",rec(b));

	return 0;
}