Cod sursa(job #283676)
Utilizator | Puscas Sergiu harababurel | Data | 19 martie 2009 15:21:48 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream.h>
#include <fstream.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;
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*jumatate2;
}
g<<jumatate;
f.close();
g.close();
return 0;
}