Cod sursa(job #151169)

Utilizator a7893Nae Mihai a7893 Data 7 martie 2008 21:09:56
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<stdio.h>
#define R 1999999973
int n,p,a,b;
int power(int n,int p)
{
	if(p==0)
		return 1;
	else
		if(p%2==0)
		{
			a=power(n,p/2);
			return (a*a)%R;
		}
		else
		{
			a=power(n,p/2);
			b=(a*a)%R;
			return (b*n)%R;
		}
}
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d\n",power(a,b));
	return 0;
}