Pagini recente » Cod sursa (job #2823191) | Cod sursa (job #1202726) | Cod sursa (job #3290203) | Cod sursa (job #325285) | Cod sursa (job #1925655)
#include <cstdio>
const int MOD = 9901;
int pow(int b, int e) {
int acum = 1;
while(e > 0) {
if(e % 2 == 1)
acum = acum * b % MOD;
b = b * b % MOD;
e = e / 2;
}
return acum;
}
int smec(int p, int x) {
return (pow(p % MOD, x + 1) - 1 + MOD) * pow((p - 1) % MOD, MOD - 2) % MOD;
}
int main() {
int a, b, rez;
FILE *fin = fopen("sumdiv.in", "r");
fscanf(fin, "%d%d", &a, &b);
fclose(fin);
int d = 2;
rez = 1;
while(d * d <= a) {
int e = 0;
while(a % d == 0) {
a = a / d;
++e;
}
rez = rez * smec(d, e * b) % MOD;
++d;
}
if(a > 1)
rez = rez * smec(a, b) % MOD;
FILE *fout = fopen("sumdiv.out", "w");
fprintf(fout, "%d", rez);
fclose(fout);
return 0;
}