Cod sursa(job #562901)

Utilizator albuemanuelEmanuel Albu albuemanuel Data 24 martie 2011 03:11:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>


using namespace std;
#define MOD 1999999973;



long long exp(long long N, long int P)
{
	long long rez=1, b=N;

	for(int i=1; i<64; i++)
	{
		if(P&1)
			rez=(rez*b) % MOD;
		P=P>>1;
		b=(b*b)%MOD;
	}
	return rez;
}


int main()
{
	long long N, P;

	ifstream fin("lgput.in");
	fin>>N>>P;
	fin.close();

	ofstream fout("lgput.out");
	fout<<exp(N, P);
	fout.close();

	return 0;


}