Cod sursa(job #930742)

Utilizator mottyMatei-Dan Epure motty Data 27 martie 2013 19:57:15
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>

using namespace std;

const int MOD =  1999999973;

ifstream in("lgput.in");
ofstream out("lgput.out");

long long power(int base, int exp) {
	if (exp == 1)
		return base;

	long long multiplier = power(base, exp>>1);
	if (exp & 1)
		return (multiplier * multiplier * base) % MOD;
	return (multiplier * multiplier) % MOD;
}

int main() {
	long long n, p;
	in >> n >> p;

	out << power(n, p) << "\n";

	return 0;
}