백준/약수, 배수와 소수
9506: 약수들의 합 /C++
Koalitsiya
2023. 3. 20. 15:57
문제
풀이
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
vector<int> v;
while (true) {
int sum = 0;
cin >> n;
if (n == -1) break;
for (int i = 1; i < n; i++) {
if (!(n % i)) {
sum += i;
v.push_back(i);
}
}
if (n == sum) {
cout << n << " = ";
for (int i = 0; i < v.size(); i++) {
if (i == v.size() - 1) cout << v[i] << "\n";
else cout << v[i] << " + ";
}
}
else
cout << n << " is NOT perfect.\n";
v.clear();
}
return 0;
}