Cod sursa(job #1376698)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 5 martie 2015 18:24:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb

#include <fstream>

const int MOD(1999999973);

int main (void)
{
	std::ifstream input("lgput.in");
	long long n, p;
	input >> n >> p;
	input.close();
	long long base(n), result(1);
	while (p)
	{
		if (p & 0x01)
			result = (base * result) % MOD;
		base = (base * base) % MOD;
		p >>= 1;
	}
	std::ofstream output("lgput.out");
	output << result << '\n';
	output.close();
	return 0;
}