問題タブ [combinatorics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
set - Project Euler: #106を理解するのを手伝ってください
#103 と #105 は解決しましたが、#106を理解するのに苦労しています。具体的には、25 という数字はどこから来たのでしょうか?
要素数が等しい 2 つの互いに素な部分集合について話している場合、
要素数が等しくない素集合を含めると、
ここで何が欠けていますか?前もって感謝します。
c++ - 繰り返しのない複数のベクトル要素の組み合わせ
n 個のベクトル、たとえば 3 個のベクトルがあり、n 個の要素があります (必ずしも同じ量である必要はありません)。それらの間でx個の組み合わせを選択する必要があります。ベクトル[n]から2つを選択するように。例:
v1[0] と v1[1] のように、1 つのベクトル自体から組み合わせることはできません。これどうやってするの?私はすべてを試しましたが、これを理解できません。
algorithm - 組み合わせ問題と数値問題の違いは何ですか
それぞれの例を少なくとも 2 つ挙げてください。ありがとう。
c++ - C++: 数の補数とその可能な不一致の数を計算する
アルゴリズムに少し行き詰まりました。問題を解決するために助けが必要です。例は私の問題をよりよく説明すると思います。
仮定:
- d = 4 (数値で許可される最大ビット数、2^4-1=15)。
- m_max = 1 (許容されるビット不一致の最大数)。
- kappa = (特定の d および m に対して検索する要素の最大数、ここで m は m_max 内)
主なアイデアは、与えられた数 x がその補数 (2 進数ベース) を計算し、x の補数から m_max までの不一致のすべての可能な組み合わせを計算することです。
プログラムは i = 0 から 15 までスキャンを開始します。
i = 0 および m = 0 の場合、kappa = \binom{d}{0} = 1 (これを完全一致と呼びます) の場合、可能なビットの組み合わせは 1111 (0: 0000 の場合) のみです。
i = 0 および m = 1 の場合、kappa = \binom{d}{1} = 4 (1 つの不一致) ビットの可能な組み合わせ: 1000、0100、0010、および 0001
私の問題は、それを一般的な d と m に一般化することでした。次のコードを書きました。
v[i][counter++] = v[i][0] ^ bits_mask
m_max の不一致 m_max ループに必要であり、元の問題では実行時まで m が不明であるため、アルゴリズムを m_max>1 に一般化できなかったため、行に行き詰まりました。
c++ - 数値のC ++ mビット順列
入力として数値x (15 と仮定)、ビット数d (4)、順列数m (2)を取得する関数を探しています。この関数の出力は、指定された数値xをdビットの長さでmビット順列したすべての数値になります。
与えられた数字 ( x = 15、d = 4、m = 2) に対して、6=\binom{4}{2}
異なる数字の組み合わせが得られます。
そのような種類の関数が C++ STD やブーストなどに既に存在しているかどうかを知りたいのですが、それらの数値を返します...
PS mまでのすべての順列の数値を返す関数を知っている場合。
よろしく
language-agnostic - 非一意の選択肢を持つ順序付けられていない組み合わせの数を決定する関数
一意でない選択肢を持つ順序付けられていない組み合わせの数を決定する関数を決定しようとしています。
与えられた:
例... n = 3、r = 3の場合、結果は次のようになります: (編集: Davによって指摘された欠損値を追加)
順列 (順序付けされていない一意の選択) の公式は知っていますが、繰り返しを許可するとセットがどのように増加するのかわかりません。
algorithm - 一方の数値が他方より大きい場合に、2 つの数値の可能な結果の数
結果を計算するアルゴリズムを作成しようとしています。しかし、組み合わせ論の助けが必要です。
1 から 10 までの 2 つの数を選択する必要があるとします。数え方の基本的な規則から、制限がない場合、可能な結果の数は 10 * 10 = 100 です。 2番目を選択した結果)。
最初の数が 2 番目の数よりも大きくなければならない場合、考えられる結果の数はいくつですか?
java - Java数学の組み合わせ「NはRを選択しますか?」
N、Rに対して「N choose R」を計算できるメソッドがJavaライブラリに組み込まれていますか?