Cod sursa(job #604328)

Utilizator razyelxrazyelx razyelx Data 21 iulie 2011 17:58:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#	include <fstream>
using namespace std;

const long long prim = 1999999973;

int main(){

	
	ifstream fin ("lgput.in");
	ofstream fout ("lgput.out");
	
	long long n, p, rp, i, j, rf, k;
	
	fin >> n >> p;
	
	
	rf = 1;
	j = 1;
	rp = n;
	
	for (; p ; p -= (1 << i - 1) ) {
		
		rp = n;
		
		for (i = 1; (1 << i ) <= p ; i++)
			
			rp = (rp * rp) % prim;
		
		rf = (rf * rp) % prim;
	}
	
	fout << rf;
	
	return 0;
}