Cod sursa(job #146965)

Utilizator devilkindSavin Tiberiu devilkind Data 2 martie 2008 14:15:43
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <stdio.h>

#define modulo 1999999973

long long n,k;

long long compute(long long x, long long y)
{
	if (y==1) return x%modulo;
	
	long long k;	
	k=compute(x,y/2);
	k=(k*k)%modulo;
	if (y%2==1) k=(k*y)%modulo;

	return k;
}

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

	scanf("%lld %lld",&n,&k);

	printf("%lld",compute(n,k));
	return 0;
}