Cod sursa(job #930767)

Utilizator mottyMatei-Dan Epure motty Data 27 martie 2013 20:07:03
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 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;

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

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

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

	return 0;
}