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つのルールを1つのXACMLで組み合わせるにはどうすればよいですか?
- 2. Androidで整数定数を組み合わせるにはどうすればよいですか?
- 3. Rにforループを含まない条件付き整数シーケンスの組み合わせを作成するにはどうすればよいですか?
- 4. 数値の合計に対してforループを作成するにはどうすればよいですか?
- 5. 「集計」とユーザ作成の関数を組み合わせる
- 6. 整数と文字列の組み合わせを反復して変数を作成するにはどうすればよいですか?
- 7. 1つの色から色の組み合わせを生成
- 8. 数字の組み合わせを生成する
- 9. ブーストジオメトリトランスを2つ組み合わせるにはどうすればいいですか?次のように
- 10. 異なるモジュールを組み合わせて1つのライブラリを作成するにはどうすればよいですか?
- 11. すべての組み合わせを生成するバックトラッキングアルゴリズム
- 12. 文字列の組み合わせをrで生成する
- 13. 制限をXSDファイルの発生インジケータと組み合わせるにはどうすればよいですか?
- 14. マルチレベル配列のすべての組み合わせをリストする再帰関数を作成するにはどうすればよいですか?
- 15. JavaScriptで長さが違う2つの配列間のペアごとの組み合わせを生成するにはどうすればよいですか?
- 16. 複数のフィードを組み合わせてフィルタリングするにはどうすればよいですか?
- 17. 2つのオブジェクトの反復を組み合わせるにはどうすればよいですか?
- 18. Rで可能なすべてのmの組み合わせをどのように生成するか
- 19. elasticsearchで複数のフィルタを組み合わせるにはどうすればよいですか?
- 20. ユニークな識別子を生成する2つのブーストロギングマクロを組み合わせるにはどうすればよいですか?
- 21. サイズと色のPHPの組み合わせを生成する
- 22. 1つのリストに可能な組み合わせを1つずつ追加するにはどうすればよいですか?たとえば
- 23. ボタンの組み合わせに関数を追加するにはどうすればいいですか
- 24. すべての組み合わせを作成するJava
- 25. どのように2つのステートメントを組み合わせて1つのクエリにするのですか?
- 26. 2つのタブスクリプトを組み合わせて1つにする
- 27. 対話型プロンプトをPythonでargparseと組み合わせるにはどうすればいいですか?
- 28. 複数の更新文をdjangoと組み合わせるにはどうすればよいですか?
- 29. 複数の一致クエリを組み合わせるにはどうすればよいですか?
- 30. フォーカスを合わせて2つのコントロールを作成するにはどうすればいいですか?
あなたは何かをお待ちですか? StackOverflowはコード作成サービスではありません。私たちが助けることができるように、私たちにあなたの試みを示すべきです。私たちはあなたにソリューションをコード化するだけではありません。 –