Cod sursa(job #2271531)
Utilizator | Data | 28 octombrie 2018 19:40:42 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <fstream>
#define nr 1999999973
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
unsigned long long N, P;
int main()
{
in >> N >> P;
unsigned int res = 1;
for(unsigned int i = 0; i < P / 2; ++i)
res = res * N % nr;
out << (P % 2 ? ((res * res % nr) * (N % nr)) % nr : res * res % nr);
return 0;
}