Cod sursa(job #558173)

Utilizator evodaniVasile Daniel evodani Data 17 martie 2011 09:37:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <fstream>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
long long n, p, modulo, rez, px, r;
int main ()
{
	modulo=1999999973;
	fin>>n>>p;
	rez=1;
	px=n;
	while (p)
	{
		r=p%2;
		if (r)
			rez=(rez%modulo*px%modulo)%modulo;
		p/=2;
		px=(px*px)%modulo;
	}
	fout<<rez<<'\n';
	fout.close ();
	return 0;
}