๐ง ๋ฌธ์
์ ๋ ฅ์ผ๋ก ์์ ์ ์ N์ด ์ ๋ ฅ๋๋ฉด 2๊ฐ ์ด์์ ์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ์ ์ N์ ํํํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋ง์ฝ N=15์ด๋ฉด
7+8 = 15
4+5+6 = 15
1+2+3+4+5 = 15
์ ๊ฐ์ด ์ด 3๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค.
โจ 1ํธ (์คํจ)
์์์๋ถํฐ ๋ํด๋ณธ๋ค ๐ ๊ฐ์ ๊ฒฝ์ฐ ์ถ๋ ฅํ๊ณ , ์ปค์ง๋ฉด ๊ฐ์ฅ ํฐ ์๋ฅผ ๋นผ์ ํ์ธํด๋ณด๊ธฐ
1~5, 4~6 ์ฒ๋ผ ๊ฒน์น๋ ๊ฒฝ์ฐ์ ๋ํด์ ๋๋น๊ฐ ์๋จ
โจ 2ํธ (๊ฐ์ ํ์ด)
์ ๋ง ์์ฒญ๋ ํ์ด์ธ ๊ฒ..
์ฃผ์ด์ง n -1 -2 ๋ฅผ ํด์ค๋ค. ๐ ๊ทธ ์์ % 2(๋บ ์์ ๊ฐฏ์), / 2๋ฅผ ํด์ค๋ค ๐ 1+6, 2+6 = 7 + 8 = 15๊ฐ ๋๋ค.
๋๋จธ์ง๊ฐ 0๊ฐ์ด๋ฉด ๋ํด์ ๋ง๋ค์ด์ง๋ค๋ ๋ป
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void){
//freopen("input.txt", "rt", stdin);
int a, b = 1, i, cnt = 0, tmp;
cin >> a;
tmp = a;
a--;
while(a > 0){
b++;
a -= b;
if(a % b == 0){
for(i = 1; i <= b; ++i){
cout << (a/b) + i << "+";
}
cout << (a/b) + i << "=" << tmp << '\n';
cnt++;
}
}
cout << cnt;
return 0;
}
'๐ง ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธํ๋ฐ C++] 43. ๋ฎค์ง๋น๋์ค(์ด์งํ์ ์์ฉ) (0) | 2024.05.07 |
---|---|
[์ธํ๋ฐ C++] 42. ์ด๋ถ๊ฒ์(์ด์ง ํ์) (0) | 2024.05.07 |
[์ธํ๋ฐ C++] 40. ๊ต์งํฉ(ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ) (2) | 2024.05.02 |
[์ธํ๋ฐ C++] 39. ๋ ๋ฐฐ์ด ํฉ์น๊ธฐ (0) | 2024.05.02 |
[์ธํ๋ฐ C++] 38. Inversion Sequence (0) | 2024.05.02 |