Cod sursa(job #1145723)

Utilizator SilverGSilver Gains SilverG Data 18 martie 2014 13:27:53
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
/*
    Keep It Simple!
*/

#include<stdio.h>

#define MOD 1999999973

long long N,P;

long long LgPow(long long nr,long long power)
{
	long long aux = 1;

	while(power)
	{
		if(power%2)
		   aux = ((aux%MOD)*(nr%MOD)) % MOD;
		nr = ((nr%MOD)*(nr%MOD))%MOD;
		power/=2;
	}

	return aux;
}

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

	scanf("%lld%lld",&N,&P);
	printf("%lld",LgPow(N,P));
}