問題タブ [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.
math - ノックアウトトーナメント-可能な組み合わせの数
ノックアウト方式のトーナメントに参加する8人の組み合わせの数はいくつですか?プレイされた試合の総数は7になりますが、このセットで可能な組み合わせの数も必要です
php - PHPのn個の配列の値を連結します
不明な数の配列があり、それぞれに不明な数の単語が含まれています。各リストの値を連結して、単語のすべての可能なバリエーションが最終的な配列に格納されるようにします。
たとえば、アレイ1に次のものが含まれている場合:
アレイ2には次のものが含まれます。
アレイ3には次のものが含まれます。
出力を次のようにしたいと思います。
3つ以上のリストが存在する可能性があり、各リストには2つ以上の単語が含まれる可能性があります。
これをPHPで実行したいと思います。
リストの数がわかっていれば、それを行う方法を知っていますが、おそらく最もリソース効率の高い方法ではありません。foreach
ただし、配列の数がわかっている場合は、ネストされたループが機能します。そうしないとどうなりますか?そして、この問題を解決するためのいくつかの方法は何ですか。たとえば、それぞれ100語の配列が100個ある場合でも機能します。または1000?
ありがとう!
algorithm - 特定の電話番号が表すことができるすべての可能な文字の組み合わせを印刷するにはどうすればよいですか?
私は最初のプログラミング面接を試みましたが、質問の 1 つは、与えられた 7 桁の電話番号で、各番号が表すことができる文字の可能な組み合わせをすべて出力できるプログラムを作成することでした。
質問の 2 番目の部分は、これが 12 桁の国際番号だったらどうなるかというようなものでした。それはあなたのデザインにどのように影響しますか。
インタビューで書いたコードは持っていませんが、彼は満足していなかったようです。
これを行う最善の方法は何ですか?
java - 繰り返しのあるバリエーションのコード (組み合わせ論)?
すべての VARIATIONS WITH REPETITION を生成するための Java コードを持っている人はいますか?
順列と組み合わせの例はたくさんありますが、バリエーションは最も簡単なものでなければなりません...車輪を再発明するために時間を無駄にするのはばかげているように感じます (これには多くのコードが書かれている必要があります)。
VARIATIONS WITH REPETITION の例は次のようになります。
ありがとう!
java - 5枚のカードの組み合わせごとに列挙
ブレインブロックがあり、デッキオブジェクトがあり、5枚のカードの組み合わせごとに繰り返し取得したいと考えています。誰かがこれを行う方法を教えてもらえますか、私はそれが次のようになると想像します:
これは正しいです?
ありがとう
java - すべてのポーカー スターティング ハンドの一意のインデックスを計算する
デッキには 52 枚のカードがあるため、52 choose 2 = 1326
明確なマッチアップがあることがわかっていますが、プリ フロップ ポーカーでは、これは AK オフスーツや AK スーテッドなどの 169 の異なるハンドに分類される可能性があります。差プリフロップ。私の質問は、これらの 169 ハンド (できれば 0 から 168) のそれぞれに一意にインデックスを付けることができる優れた数学的特性があるかどうかです。としてルックアップ テーブルを作成しようとしていますdouble[][] = new double [169][169]
が、AK (同じスーツのエースとキング) などの手の表現をこの配列の一意のインデックスに変更する方法がありません。
math - ある順列を別の順列に変更するサイクルを計算するにはどうすればよいですか?
[2, 3, 1, 4]
シーケンスの2つの順列(たとえば、 )を指定して、最初の順列を2番目の順列に変換するために必要なサイクル[4, 1, 3, 2]
を計算するアルゴリズムを探しています(たとえば、 )。[[0, 3], [1, 2]]
mathworldからのリンクによると、MathematicaのToCycle関数がそれを実行しますが、残念ながら手元にMathematicaライセンスがありません...FOSS言語または数学パッケージでのアルゴリズムの実装へのポインタを喜んで受け取ります。
ありがとう!
vb.net - VB で配列要素からすべての可能な合計の組み合わせを作成する方法
要素が 1、2、3、4 の配列がある場合、プログラムはすべての組み合わせの合計を含む別の配列を返す必要があります。
probability - 組み合わせ論、確率、サイコロ
私の友人は尋ねました:私が2つのサイコロを持っていて、両方を投げた場合、(2つのサイコロの数の)最も頻繁な合計は何ですか?
私は小さなスクリプトを書きました:
どの印刷物:
私が持っている質問は、なぜ11が12よりも頻繁なのですか?どちらの場合も、そのような合計(5 + 6、6 + 6)を取得する方法は1つ(または逆に数える場合は2つ)しかないので、同じ確率を期待していました。
python - 「drive ya nuts」パズルのユニークな組み合わせをすべて生成する
しばらく前に、単純な python プログラムを作成して、ドライブ ヤ ナッツ パズルの単一のソリューションをブルート フォースしました。
(ソース: tabbykat.com )
パズルは 1 ~ 6 の数字が書かれた 7 つの六角形で構成され、すべてのピースを並べて、各数字が次のピースの同じ数字に隣接するようにする必要があります。
パズルには~1.4G
ユニークではない可能性があります:7!
ピースを順番に並べ替えるオプションがあります (たとえば、center=0
、top=1
、時計回りに続く...)。ピースを並べ替えた後、各ピースを 6 つの方法で回転させることができます (各ピースは六角形です)。これ6**7
により、7 つのピースの特定の順列に対して可能な回転を得ることができます。合計:7!*(6**7)=~1.4G
可能性。次の python コードは、これらの可能なソリューションを生成します。
ただし、パズルには~0.2G
一意の可能なソリューションしかないことに注意してください。各可能なソリューションは他の 5 つのソリューションに相当するため、可能なソリューションの総数を 6 で割る必要があります (パズル全体を 1/6 回転させるだけです)。
このパズルのユニークな可能性だけを生成するより良い方法はありますか?