Cod sursa(job #283681)

Utilizator harababurelPuscas Sergiu harababurel Data 19 martie 2009 15:26:36
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream.h>
#include <fstream.h>
#include <math.h>
int main() {
	ifstream f; f.open("lgput.in");
	ofstream g; g.open("lgput.out");
	long long int n, p, jumatate=1, jumatatedoi, i,panalacat=0;
	f>>n>>p;
	for(i=int(sqrt(p)); i<=2; i--) {
		if(p%i==0) { panalacat=i; break; }
		}

	for(i=1; i<=panalacat; i++) {
		jumatate=jumatate*n;
		}
	jumatatedoi=jumatate;
	for(i=1; i<p/panalacat; i++) {
		jumatate=jumatate*jumatatedoi;
		}

	g<<jumatate%1999999973;
	f.close();
	g.close();
	return 0;
}