Cod sursa(job #2404086)

Utilizator puzzleFlutur Vasile puzzle Data 12 aprilie 2019 11:59:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
	
#include <iostream>
#include <fstream>
 
#define MOD 1999999973
 
std::ifstream in("lgput.in");
std::ofstream out("lgput.out");
 
unsigned long long lgpow(long long n, long long p)
{
	if (p == 0)
		return 1;
	if (p % 2 == 0)
	{
		return lgpow(n*n, p / 2) % MOD ;
	}
	else
	{
		return n * lgpow(n*n, (p - 1)/2) % MOD;
	}
}
 
int main()
{
	long long  n, p;
	in >> n >> p;
	out << lgpow(n, p);
}