Cod sursa(job #457749)

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

long long ceva;

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

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