Cod sursa(job #2268454)

Utilizator BeilandArnoldArnold Beiland BeilandArnold Data 24 octombrie 2018 20:37:10
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

const long long MODULO = 1999999973;


long long power(long long n, long long p)
{
	if (p == 0) {
		return 1;
	}
	else if (p == 1) {
		return n % MODULO;
	}
	else {
		long long temp = power(n, p / 2);
		temp = temp * temp % MODULO;

		if (p % 2 != 0)
			temp = temp * n % MODULO;

		return temp;
	}
}


int main()
{
	long long n, p;
	std::ifstream input("lgput.in");
	input >> n >> p;

	std::ofstream output("lgput.out");
	output << power(n, p) << std::endl;

    return 0;
}