Cod sursa(job #857116)
Utilizator | Data | 17 ianuarie 2013 12:26:17 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream>
using namespace std;
int main()
{
const int r = 1999999973;
int n, p, a;
ifstream in("lgput.in");
ofstream out("lgput.out");
in >> n >> p;
a = 1;
while (p != 0) {
if (p % 2 != 0)
a = (int)((long long) a * n % r);
n = (long long) n * n % r;
p /= 2;
}
out << a % r;
return 0;
}