Pagini recente » Cod sursa (job #1889643) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #492566) | Cod sursa (job #1896492)
#include <fstream>
#include <iostream>
bool bit_set(int number, int bit) {
return ((number >> bit) & 1) == 1;
}
unsigned long long pow(unsigned int x, unsigned int n, int mod = 1999999973) {
unsigned long long num = x,result = 1;
for (unsigned int i = 0; (1 << i) <= n; i++) {
if (bit_set(n, i)) {
result *= num % mod;
}
num *= num % mod;
}
return result;
}
int main(void) {
std::ifstream in("lgput.in");
unsigned int n, p;
in >> n >> p;
in.close();
std::ofstream out("lgput.out");
out << pow(n, p)<<"\n";
out.close();
return 0;
}