Cod sursa(job #560245)

Utilizator Catah15Catalin Haidau Catah15 Data 18 martie 2011 13:21:34
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;

#define MOD 1999999973
#define LL long long

LL power (LL N, LL P)
{
	if (P == 0) return 1;
	
	LL halfpower = power (N, P / 2);
	
	if (P % 2)
		return (((halfpower * halfpower) % MOD) * N) % MOD;
	return (halfpower * halfpower) % MOD;
}

LL N, P;

int main()
{
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	
	f >> N >> P;
	
	g << power (N, P);
	
	f.close();
	g.close();
	
	return 0;
}