주어진 집합에 모든 집합 찾기 알고리즘
- 프로그래밍/C/C++
- 2018. 10. 20.
주어진 집합에 모든 집합 찾기 알고리즘
원소 {a, b, c}가 있다면 {a}, {b}, {c}, {a b}, {a c}, {b c}, {a b c} 이렇게 모든 집합을 찾고 싶다.
이것을 C++로 표현을 해보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> using namespace std; void printSubsets(char set[]) { int n = 3; for (int i = 0; i < (1 << n); i++) { cout << "{ "; for (int j = 0; j < n; j++) if ((i & (1 << j)) > 0) cout << set[j] << " "; cout << " }" << endl; } } int main() { char set[] = { 'a', 'b', 'c' }; printSubsets(set); } | cs |
< 출력 결과 >