Pagini recente » Cod sursa (job #2854864) | Cod sursa (job #1658740) | Cod sursa (job #1693418) | Cod sursa (job #3351869) | Cod sursa (job #3356804)
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define MOD 1999
uint64_t compute_power(uint64_t base, uint64_t exp) {
uint64_t result = 1;
base %= MOD;
while (exp > 0) {
if (exp % 2 == 1) {
result = (result * base) % MOD;
}
base = (base * base) % MOD;
exp /= 2;
}
return result;
}
int main(void) {
FILE *fin = fopen("lgput.in", "r");
if (fin == NULL) {
perror(NULL);
exit(1);
}
FILE *fout = fopen("lgput.out", "w");
if (fout == NULL) {
perror(NULL);
fclose(fin);
exit(1);
}
uint64_t n, p;
if (fscanf(fin, "%lu %lu", &n, &p) == 2) {
fprintf(fout, "%lu\n", compute_power(n, p));
}
fclose(fin);
fclose(fout);
return 0;
}