Cod sursa(job #1815763)

Utilizator aaether14Dinescu Stefan Cristian aaether14 Data 25 noiembrie 2016 18:55:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>


long long n, p;
long long fast_exp(long long n,long long p)
{
	if (p == 1)
		return n % 1999999973;
	if (p & 0x1)
		return ((n%1999999973) * fast_exp((n%1999999973),p - 1)) % 1999999973;
	else
		return fast_exp(((n*n)%1999999973),p/2) % 1999999973;
}

int main()
{
	std::ifstream fin("lgput.in");
	std::ofstream fout("lgput.out");

	fin>>n>>p;
	fout << fast_exp(n, p);

	fout.close();
	fin.close();
	return 0;
}