Cod sursa(job #457751)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 21 mai 2010 13:35:24
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<cstdio>
#define modulo 1999999973
using namespace std;

long long ceva;

long long putere (long long n,long long k)
{
	if (k==0) return 1;
	else if (k%2==1)
	{
		ceva=putere(n,(k-1)/2);
		return (n*ceva*ceva)%modulo;
	}
	else if (k%2==0)
	{
		ceva=putere(n,k/2);
		return (ceva*ceva)%modulo;
	}
}

int main ()
{
	long long n,k;
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%I64d%I64d",&n,&k);
	printf("%I64d",putere(n,k)%modulo);
	return 0;
}