Cod sursa(job #552010)

Utilizator romircea2010FMI Trifan Mircea Mihai romircea2010 Data 11 martie 2011 14:50:13
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
//1999999973.
#include <fstream>

using namespace std;

int p;
long long n;

int PutereLogaritmic ()
{
	long long put=1;
	while (p>0)
	{
		if (p&1)
		{
			put=(long long)((put%1999999973)*(n%1999999973))%1999999973;
			p--;
		}
		n=(long long)((n%1999999973)*(n%1999999973))%1999999973;
		p>>=1;
	}
	return put;
}

int main ()
{
	ifstream f("lgput.in");
	f>>n>>p;
	f.close();
	
	ofstream g("lgput.out");
	g<<PutereLogaritmic ()<<"\n";
	g.close();
	
	return 0;
}