遍历一遍所有非重复的质因子即可;
prime[i] == 0 && nn % i == 0&&find(de.begin(),de.end(),i)==de.end()
void dfs(int index) {
if (index == n) {
if (de.size() != n)return;
int sum = 0;
for (int i : de) {
sum += i;
}
ans = min(ans, sum);
return;
}
int nn = vec[index];
for (int i = 2; i <= nn; i++) {
if (prime[i] == 0 && nn % i == 0&&find(de.begin(),de.end(),i)==de.end()) {
de.push_back(i);
dfs(index + 1);
de.pop_back();
}
}
}

京公网安备 11010502036488号