競技プログラミングの鉄則
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を調べる必要がないから。