Pagini recente » Cod sursa (job #3266934) | Cod sursa (job #1689277) | Cod sursa (job #915038) | Cod sursa (job #866620) | Cod sursa (job #1632255)
#include <stdio.h>
#define MOD 1999999973
typedef struct {
unsigned long int N;
unsigned long int P;
} date_struct;
date_struct get_date(char* file_name) {
date_struct date;
FILE *in = fopen(file_name, "r");
fscanf(in, "%ld %ld", &(date.N), &(date.P));
fclose(in);
return date;
}
unsigned long int put_log(unsigned long int N, unsigned long int P) {
if (P == 1) {
return N;
}
unsigned long int result = put_log(N, P>>1);
if (P&1) {
return (N * (result * result) % MOD) % MOD;
}
return (result * result) % MOD;
}
int main () {
date_struct date = get_date("lgput.in");
FILE *out = fopen("lgput.out", "w");
fprintf(out, "%ld", put_log(date.N, date.P));
fclose(out);
return 0;
}