Cod sursa(job #2494526)
| Utilizator | Data | 17 noiembrie 2019 23:23:17 | |
|---|---|---|---|
| Problema | Suma divizorilor | Scor | 30 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream in ("sumdiv.in");
ofstream out ("sumdiv.out");
int main() {
int a, b;
long long int s = 1;
in >> a >> b;
int d = 2, p;
while (d * d <= a) {
p = 0;
while (a % d == 0) {
a /= d;
p ++;
}
if (p > 0) {
s *= (pow (d, p * b + 1) - 1) / (d - 1);
}
d ++;
}
if (a > 1) {
s *= (pow (a, b + 1)- 1) / (a - 1);
}
s %= 9901;
out << s;
return 0;
}
