2024年11月27日 星期三

組合例

 from itertools import combinations


# 節點集合

nodes = [0, 1, 2, 3, 4, 5]


# 計算所有組合

def list_combinations(nodes,n):

    return list(combinations(nodes, n))


# 主程式

for n in  range(1,7):

    print(f"6 點取 {n} 點的所有組合:")

    combinations_list = list_combinations(nodes,n)

    for combo in combinations_list:

        print(combo)

    print()


6 點取 1 點的所有組合:

(0,)

(1,)

(2,)

(3,)

(4,)

(5,)


6 點取 2 點的所有組合:

(0, 1)

(0, 2)

(0, 3)

(0, 4)

(0, 5)

(1, 2)

(1, 3)

(1, 4)

(1, 5)

(2, 3)

(2, 4)

(2, 5)

(3, 4)

(3, 5)

(4, 5)


6 點取 3 點的所有組合:

(0, 1, 2)

(0, 1, 3)

(0, 1, 4)

(0, 1, 5)

(0, 2, 3)

(0, 2, 4)

(0, 2, 5)

(0, 3, 4)

(0, 3, 5)

(0, 4, 5)

(1, 2, 3)

(1, 2, 4)

(1, 2, 5)

(1, 3, 4)

(1, 3, 5)

(1, 4, 5)

(2, 3, 4)

(2, 3, 5)

(2, 4, 5)

(3, 4, 5)


6 點取 4 點的所有組合:

(0, 1, 2, 3)

(0, 1, 2, 4)

(0, 1, 2, 5)

(0, 1, 3, 4)

(0, 1, 3, 5)

(0, 1, 4, 5)

(0, 2, 3, 4)

(0, 2, 3, 5)

(0, 2, 4, 5)

(0, 3, 4, 5)

(1, 2, 3, 4)

(1, 2, 3, 5)

(1, 2, 4, 5)

(1, 3, 4, 5)

(2, 3, 4, 5)


6 點取 5 點的所有組合:

(0, 1, 2, 3, 4)

(0, 1, 2, 3, 5)

(0, 1, 2, 4, 5)

(0, 1, 3, 4, 5)

(0, 2, 3, 4, 5)

(1, 2, 3, 4, 5)


6 點取 6 點的所有組合:

(0, 1, 2, 3, 4, 5)


沒有留言:

張貼留言