Pagini recente » Cod sursa (job #1158561) | Cod sursa (job #2958865) | Cod sursa (job #502860) | Cod sursa (job #1993201) | Cod sursa (job #1128233)
#include <fstream>
using namespace std;
const unsigned long long MOD = 29;
unsigned long long expBySquaring(unsigned long long x, unsigned long long n) {
if (n == 0) {
return 1;
}
else if (n == 1) {
return x;
}
else if (n % 2 == 0) {
return (expBySquaring(x*x, n/2));
}
else if (n % 2 != 0) {
return (x * expBySquaring(x*x, (n-1)/2));
}
}
unsigned long long modular_pow(unsigned long long base, unsigned long long exponent) {
unsigned long long c = 1;
for (unsigned long long e_prime = 1; e_prime <= exponent; ++e_prime) {
c = (c * base) % MOD;
}
return c;
}
int main(int argc, char *argv[]) {
unsigned long long nr, power;
fstream in("lgput.in", ios::in);
in >> nr >> power;
in.close();
fstream out("lgput.out", ios::out);
out << modular_pow(nr, power);
out.close();
return 0;
}