Cod sursa(job #1756784)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 13 septembrie 2016 17:28:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>
using namespace std;

const long long mod = 1999999973;

long long put(long long n, long long p);

int main()
{
	ifstream in("lgput.in");
	long long n, p;
	in >> n >> p;
	ofstream out("lgput.out");
	out << put(n, p);
}

long long put(long long n, long long p)
{
	if (p == 0)
		return 1;
	long long a = put(n, p / 2);
	a *= a;
	a %= mod;
	if (p & 1)
		a *= n;
	return (a % mod);
}