Cod sursa(job #146383)

Utilizator savimSerban Andrei Stan savim Data 1 martie 2008 17:28:57
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
unsigned long a,b,c,i,j,k;
unsigned long t;
unsigned 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("%ld %ld",&a,&b,&c);
    c=1999999973;
    
	printf("%ld",rec(b));

	return 0;
}