Python アルゴリズム

目指せAtcorder茶色2

競技プログラミングの鉄則 
A03
B03
クリア!

■5個の数字の中から異なる3つの数字を選ぶ場合の組み合わせの数を調べる
# 5個の数字のリストを定義
numbers = [1, 2, 3, 4, 5]

# 組み合わせを格納するリスト
combinations = []

# 3重のforループで3つの異なる数字を選ぶ ※1
for i in range(len(numbers)-2):
    for i in range(len(numbers)):
        for k in range(j + 1, len(numbers)):
            combination = (numbers[i], numbers[j], numbers[k])
            combinations.append(combination)

# 組み合わせの数を表示
print(f"組み合わせの数: {len(combinations)}")
print(f"組み合わせのリスト: {combinations}")

※1
i は最初の数字のインデックスを示す
j は i の次のインデックスから始まり、2番目の数字を選ぶ
k は j の次のインデックスから始まり、3番目の数字を選ぶ
for i in range(len(numbers)-2): で-2しているのは、例えば、i=3のとき、j=4、K=5となるので、
iは4、5を調べる必要がないから。

-Python, アルゴリズム