Pagini recente » Cod sursa (job #414102) | Cod sursa (job #167286) | Cod sursa (job #2724655) | Cod sursa (job #2623334) | Cod sursa (job #530228)
Cod sursa(job #530228)
#include <fstream>
using namespace std;
ifstream in ("sumdiv.in");
ofstream out ("sumdiv.out");
const int mod = 9901;
int rez = 1, a, b;
int pow (int a, int n) {
if (n == 0) {
return 1;
}
if (n == 1) {
return a % mod;
}
return pow (a * a % mod, n >> 1) * pow (a, n % 2) % mod;
}
void add (int x, int y) {
rez = rez * (pow (x, y + 1) + mod - 1) % mod * pow (x - 1, mod - 2) % mod;
}
void citire () {
in >> a >> b;
for (int i = 2; i * i <= a; ++i) {
if (a % i) {
int put = 0;
while (a % i) {
a /= i;
++put;
}
add (i, put * b);
}
}
if (a != 1) {
add (a, b);
}
}
void afisare () {
out << rez << '\n';
}
int main () {
citire ();
afisare ();
return 0;
}