Pagini recente » Cod sursa (job #3329231) | Cod sursa (job #3340746) | Cod sursa (job #3328870) | Cod sursa (job #3330965) | Cod sursa (job #3327432)
#include <bits/stdc++.h>
using namespace std;
#define STDIO 0
#if STDIO
#define fin cin
#define fout cout
#else
ifstream fin("desc.in");
ofstream fout("desc.out");
#endif // STDIO
typedef long long ll;
ll divi[1002], nrd, d[1002][1002];
ll n, k, i, j;
int main() {
if(STDIO) ios_base::sync_with_stdio(false);
fin.tie(nullptr);
fout.tie(nullptr);
fin >> n >> k;
for(ll d = 1; d * d <= n; d++) {
if(n % d == 0) {
divi[++nrd] = d;
if(d * d != n) divi[++nrd] = n / d;
}
}
sort(divi + 1, divi + nrd + 1);
for(i = 1; i <= nrd; i++) d[1][i] = 1;
for(i = 2; i <= nrd; i++) {
ll opd = 1;
for(j = i; j > 1; j--) {
d[i][j] = d[i][j + 1];
if(divi[i] % divi[j] == 0) {
while(opd <= i && divi[opd] != divi[i] / divi[j]) {
opd++;
}
if(opd <= i) d[i][j] += d[opd][j];
}
}
d[i][1] = d[i][2];
}
fout << d[nrd][1] << "\n";
return 0;
}