完全ナビゲーションビット演算子
#부분집합의 모든 경우를 순회하며
power_set = []
n = 3
arr = [i+1 for i in range(n)]
print(arr)
for i in range(1<<n) : #1부터 12까지를 원소로 가지는 집합의 부분집합의 수는 2의 12승
tmp_set = [] #부분집합을 담을 임시저장소
#n만큼 j가 순회하며
for j in range(n) :
#i의 j번째 비트가 1인지 아닌지 확인
if i & (1<<j) :
#for문을 순회하며 and연산 결과 True이면 A리스트의 j인덱스를 tmpset에 추가
#ex 13이면 1101 이니까, 1,3,4번째 비트 추가
tmp_set.append(arr[j])
power_set.append(tmp_set)
print(power_set)
Power set 一時リポジトリtmp set準備
Reference
この問題について(完全ナビゲーションビット演算子), 我々は、より多くの情報をここで見つけました https://velog.io/@holawan/비트연산자-완전탐색テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol