Pagini recente » Cod sursa (job #2906581) | Cod sursa (job #2586278) | Cod sursa (job #647410) | Cod sursa (job #2344368) | Cod sursa (job #1896499)
#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 = (result *num) % mod;
}
num = (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;
}