Pythonでは、私のプログラムで「番号を入力してください」と促したいと思います。例えば、私は「5」を入力し、その代わりに、1と5を含む1と5の間のすべての数の組み合わせを見つけて、シーケンスや数字を繰り返さずに5を加えます。したがって、これの出力はペア1,4と2,3でなければなりません。さらに、私はいくつの出力を持っているのかを教えてもらいたいので、この場合は2とします。そして、私が10よりも高い数字を入力すると、ペアよりも大きいので1,2,3,4が出力として、1,9が別のものなどとなります。1つの整数に対する合計の組み合わせを生成するプログラムを作成するにはどうすればよいですか?
-1
A
答えて
0
私はitertoolsで遊んでいるのが好きだから行きます
import itertools
val = int(input())
r = range(val)[1:]
res = []
for i in range(len(r)+1):
res += [list(x) for x in itertools.combinations(r, i) if sum(list(x)) == val]
print("Solution : %s " % res)
print("Combinations : %s" % len(res))
# For input 10 :
# Solution : [[1, 9], [2, 8], [3, 7], [4, 6], [1, 2, 7], [1, 3, 6], [1, 4, 5], [2, 3, 5], [1, 2, 3, 4]]
# Combinations : 9
このメソッドは、一種のブルートフォースですが、おそらく数学を使用する方がはるかに高速になる可能性があります。
+0
ありがとうございました!私はまだウェブサイトを初めて使っているので、まだサイトのエチケットに慣れています。 –
関連する問題
- 1. 整数のユニークな組み合わせを生成する
- 2. 整数の組み合わせをこれらの組み合わせの合計のリストに変換する
- 3. 2つのルールを1つのXACMLで組み合わせるにはどうすればよいですか?
- 4. Androidで整数定数を組み合わせるにはどうすればよいですか?
- 5. シンボルの組み合わせはどのように生成されますか?
- 6. 配列から組み合わせを生成するには?
- 7. 数値の合計に対してforループを作成するにはどうすればよいですか?
- 8. Rにforループを含まない条件付き整数シーケンスの組み合わせを作成するにはどうすればよいですか?
- 9. 整数と文字列の組み合わせを反復して変数を作成するにはどうすればよいですか?
- 10. 「集計」とユーザ作成の関数を組み合わせる
- 11. jqueryで2つの関数を組み合わせるにはどうすればよいですか?
- 12. 1つの色から色の組み合わせを生成
- 13. ブーストジオメトリトランスを2つ組み合わせるにはどうすればいいですか?次のように
- 14. 数字の組み合わせを生成する
- 15. 異なるモジュールを組み合わせて1つのライブラリを作成するにはどうすればよいですか?
- 16. すべての組み合わせを生成するバックトラッキングアルゴリズム
- 17. 各行にリストの組み合わせを作成するパンダ
- 18. ffmpegで1オーディオと1画像を組み合わせるにはどうすればいいですか
- 19. 制限をXSDファイルの発生インジケータと組み合わせるにはどうすればよいですか?
- 20. 文字列の組み合わせをrで生成する
- 21. マルチレベル配列のすべての組み合わせをリストする再帰関数を作成するにはどうすればよいですか?
- 22. JavaScriptで長さが違う2つの配列間のペアごとの組み合わせを生成するにはどうすればよいですか?
- 23. 複数のフィードを組み合わせてフィルタリングするにはどうすればよいですか?
- 24. 任意の文字の組み合わせに対してXtextワイルドカードターミナルルールを作成するにはどうすればよいですか?
- 25. 2つのオブジェクトの反復を組み合わせるにはどうすればよいですか?
- 26. CSSで2つのAngularjsフォームバリデーションディレクティブ条件を組み合わせるにはどうすればよいですか?
- 27. Angular/TypeScriptで2つのURLSearchParamsを組み合わせるにはどうすればよいですか?
- 28. Rで可能なすべてのmの組み合わせをどのように生成するか
- 29. elasticsearchで複数のフィルタを組み合わせるにはどうすればよいですか?
- 30. ユニークな識別子を生成する2つのブーストロギングマクロを組み合わせるにはどうすればよいですか?
あなたは何かをお待ちですか? StackOverflowはコード作成サービスではありません。私たちが助けることができるように、私たちにあなたの試みを示すべきです。私たちはあなたにソリューションをコード化するだけではありません。 –