Cod sursa(job #2632443)
Utilizator | Data | 3 iulie 2020 12:34:03 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#define fisier "lgput"
#ifndef fisier
#define fisier "DEBUG"
#endif
#include <fstream>
std::ifstream in (fisier ".in");
std::ofstream out(fisier ".out");
const int M = 1999999973;
int main()
{
long long a, r; int p;
in >> a >> p;
for (r = 1; p; p >>= 1)
{
if (p & 1)
r *= a, r %= M;
a *= a, a %= M;
}
out << r;
}