#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> divz;
for (int i = 1; i <= sqrt(n); i ++) {
if (n % i == 0)
divz.push_back(i);
if (n % i == 0 && i * i < n)
divz.push_back(n / i);
}
sort(divz.begin(), divz.end());
int x = divz.size();
vector<set<int>> dp(x);
dp[0].insert(0);
for (int i = 0; i < x; i ++) {
for (int j = 0; j < i; j ++) {
if (divz[i] % divz[j] != 0)
continue;
for (auto k : dp[j])
dp[i].insert(k - 1 + divz[i] / divz[j]);
}
}
cout << (int)dp[x - 1].size() << '\n';
for (auto i : dp[x - 1])
cout << i << " ";
cout << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |