Cod sursa(job #457750)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 21 mai 2010 13:34:00
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 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)%mod;
	}
	else if (k%2==0)
	{
		ceva=putere(n,k/2);
		return (ceva*ceva)%mod;
	}
}

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;
}