2024年11月4日 星期一

利用位元運算來生成子集合

 a = list('abcd')

n = len(a)

sss = []


# 透過位元運算來生成子集合

for i in range(2**n):

    ss = []

    for j in range(n):

        # 檢查 i 的第 j 位是否為 1,如果為 1 則將 a[j] 加入子集合

        if i & (1 << j):

            ss.append(a[j])

    sss.append(ss)


# 輸出所有子集合

print("所有子集合為:")

for ss in sss:

    print(ss)

沒有留言:

張貼留言