Cod sursa(job #604326)

Utilizator razyelxrazyelx razyelx Data 21 iulie 2011 17:44:32
Problema Ridicare la putere in timp logaritmic Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 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 (i = 1; (1 << i ) <= p ; i++)
			
		rp = (rp * rp) % prim;
	
	if ( (1 << i)  > p ) {
		i = 1 << (i - 1);
		
		for (; i < p; i++)
			rp = (rp * n) % prim;
	}		

	fout << rp;
	
	return 0;
}