Cod sursa(job #700369)

Utilizator tzipleatudTudor Tiplea tzipleatud Data 1 martie 2012 09:46:39
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;

ifstream f("lgput.in");
ofstream g("lgput.out");

const long long M=1999999973;
long long A,B;

long long LgPow(long long,long long);

int main() {
	f >> A >> B;
	g << LgPow(A,B) << '\n';
	f.close();g.close();
	return 0;
}

long long LgPow(long long B,long long P) {
	long long R,X,i;
	for (i=1,R=1,X=B;i<=P;i<<=1) {
		if (i&P) R=R*X%M;
		X=X*X%M;
	}
	return R%M;
}