문제
풀이
#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;
}
'백준 > 약수, 배수와 소수' 카테고리의 다른 글
11653: 소인수분해 / C++ (0) | 2023.03.20 |
---|---|
2581: 소수 / C++ (0) | 2023.03.20 |
1978: 소수 찾기 / C++ (0) | 2023.03.20 |
2501: 약수 구하기 / C++ (0) | 2023.03.20 |
5086: 배수와 약수 / C++ (0) | 2023.03.20 |