Cod sursa(job #2065787)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 14 noiembrie 2017 10:40:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
using namespace std;

const long long mod = 1999999973LL;

long long pw(long long N, long long P)
{
	if(P == 1)
	{
		return N;
	}
	
	long long ans;
	long long ret = pw (N, P / 2);
	ans = ret * ret;
	ans %= mod;
	if(P & 1)
	{
		ans *= N;
	}
	return ans % mod;
}

int main()
{
	long long N, P;
	ifstream in("lgput.in");
	ofstream out("lgput.out");
	
	in >> N >> P;
	out << pw (N, P) <<"\n";
	in.close();
	out.close();
}