Cod sursa(job #1413788)
| Utilizator | Data | 2 aprilie 2015 08:47:45 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
/*
Keep It Simple!
*/
#include <vector>
#include <fstream>
#include <queue>
using namespace std;
const int kMaxN = 1025;
const long long kMod = 1999999973;
int N,P;
void Solve() {
ifstream fin("lgput.in");
fin >> N >> P;
fin.close();
long long sol = 1;
while (P) {
if(P&1)
sol = (sol*N)%kMod;
N = (N*N)%kMod;
P >>= 1;
}
ofstream fout("lgput.out");
fout << sol << '\n';
fout.close();
}
int main() {
Solve();
return 0;
}
