Cod sursa(job #1661843)
Utilizator | Data | 24 martie 2016 11:13:29 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include <fstream>
std::ifstream in("lgput.in");
std::ofstream out("lgput.out");
using t = unsigned long long;
t x , n, s = 1 , p, m = 1999999973;
main()
{
in >> x >> n;
p = x;
for(t i = 0; (1<<i) <= n; ++i)
{
if((1<<i & n) > 0)
s = (s*p)%m;
p = (p*p)%m;
}
out << s;
}