부분합 문제 예를들어, vec{1,2,4,5,11} 이라는 숫자의 부분합으로 10이 나올 수 있는지 파악하는 방법으로 비트연산으로 하는 방법이 있어서 블로그에 기록해본다 비트연산을 활용하여 하는 방법이 있는데, 위의 벡터의 부분합의 가지수는 총 32가지 즉, 비트로 11111 (2^5) 로 나타낼 수 있다. 예를 들면 1, 4, 5를 선택 하면 10이 나오는데, 이는 비트로 01101(오른쪽부터 vec[0]이라고 치면) 로 나타낼 수 있다. 코드로 치면 다음과 같다 #include #include using namespace std; int main() { bool isCanmake = false; vector vec = { 1,2,4,5,11 }; int answer = 10; for (int i = ..