前提
以下のサイトで重複なしの合計がXになる整数の組み合わせを出力する方法が紹介されているのですが
同じ条件で重複を許す組み合わせも出力できるようにするにはどうすればよいのでしょうか。
「qiita:合計がXになる整数の組み合わせを出力する」
https://qiita.com/Cesaroshun/items/6302542e4e32602d775d
実現したいこと
リストは以下のリストで合計が10になる組み合わせ(重複あり)を出力したい
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
重複なしのコード(上記HP参照)
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def get_integral_value_combination(list, target):
def a(idx, l, r, t):
if t == sum(l): r.append(l)
elif t < sum(l): return
for u in range(idx, len(list)):
a((u + 1), l + [list[u]], r, t)
return r
return a(0, [], [], target)
print get_integral_value_combination(list, 10)
コードを示す場合は、「コードの挿入」(整形済みテキスト)を用いてください。

回答1件
あなたの回答
tips
プレビュー