题解 | 完数
完数
https://www.nowcoder.com/practice/3d8cabccd6224b638573293a811c6346
#include <iostream>
using namespace std;
bool func(int n) {
int res = 0;
for (int i = 1; i <= n / 2; i++) {
if (n % i == 0) {
res += i;
}
}
return res == n ? true : false;
}
int main() {
int n;
while (cin >> n) {
int index;
for (int i = n; i > 0; i--) {
if (func(i)) {
index = i;
break;
}
}
for (int i = 1; i <= n; i++) {
if (func(i)) {
cout << i;
if (i != index) {
cout << " ";
}
}
}
cout << endl;
}
}


