๋ฐ์ํ
๋ฌธ์
์ด๋ค ์ซ์ n์ด ์์ ์ ์ ์ธํ ๋ชจ๋ ์ฝ์๋ค์ ํฉ๊ณผ ๊ฐ์ผ๋ฉด,๊ทธ ์๋ฅผ ์์ ์๋ผ๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด 6์ 6 = 1 + 2 + 3 ์ผ๋ก ์์ ์์ด๋ค.
n์ด ์์ ์์ธ์ง ์๋์ง ํ๋จํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
์ ๋ ฅ
์
๋ ฅ์ ํ
์คํธ ์ผ์ด์ค๋ง๋ค ํ ์ค ๊ฐ๊ฒฉ์ผ๋ก n์ด ์ฃผ์ด์ง๋ค. (2 < n < 100,000)
์
๋ ฅ์ ๋ง์ง๋ง์ -1์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
ํ
์คํธ์ผ์ด์ค ๋ง๋ค ํ์ค์ ํ๋์ฉ ์ถ๋ ฅํด์ผ ํ๋ค.
n์ด ์์ ์๋ผ๋ฉด, n์ n์ด ์๋ ์ฝ์๋ค์ ํฉ์ผ๋ก ๋ํ๋ด์ด ์ถ๋ ฅํ๋ค(์์ ์ถ๋ ฅ ์ฐธ๊ณ ).
์ด๋, ์ฝ์๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋์ดํด์ผ ํ๋ค.
n์ด ์์ ์๊ฐ ์๋๋ผ๋ฉด n is NOT perfect. ๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
// ํ์ด : https://whkakrkr.tistory.com
#include <iostream>
#include <vector>
using namespace std;
string solution(int n) {
int sum = 0;
string ans = to_string(n) + " =";
for(int i=1; i<n; i++) {
if(n%i==0) {
sum += i;
ans += " " + to_string(i) + " +";
}
}
ans.pop_back();
if(sum!=n) {
ans = to_string(n) + " is NOT perfect.";
}
return ans;
}
int main() {
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
int n;
cin >> n;
while(n!=-1) {
cout << solution(n) << "\n";
cin >> n;
}
return 0;
}
๋ฐ์ํ
'๐ Cpp > [BOJ] ๋จ๊ณ๋ณ๋ก ํ์ด๋ณด๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 11653๋ฒ: ์์ธ์๋ถํด (Bronze I) (0) | 2024.12.27 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 2581๋ฒ: ์์ (Bronze II) (0) | 2024.12.26 |
[BOJ][C++] ๋ฐฑ์ค 2501๋ฒ: ์ฝ์ ๊ตฌํ๊ธฐ (Bronze III) (0) | 2024.12.26 |
[BOJ][C++] ๋ฐฑ์ค 5086๋ฒ: ๋ฐฐ์์ ์ฝ์ (Bronze III) (0) | 2024.12.26 |
[BOJ][C++] ๋ฐฑ์ค 2720๋ฒ: ์ธํ์ ์ฌ์ฅ ๋ํ (Bronze III) (1) | 2024.12.25 |