194481の可能性からランダムな組み合わせを選択してください

ヨハンナクリスティンダイ

0,1,2,3,4,5,6、...、21の194481順列のファイルがあります

これは次のようになります。

[0,0,0,0],[0,0,0,1],[0,0,0,2],[0,0,0,3],[0,0,0,4],[0,0,0,5],[0,0,0,6],[0,0,0,7],[0,0,0,8],[0,0,0,9],[0,0,0,10],[0,0,0,11],[0,0,0,12],[0,0,0,13],[0,0,0,14],[0,0,0,15],[0,0,0,16],[0,0,0,17],[0,0,0,18],[0,0,0,19],[0,0,0,20],[0,0,1,0],[0,0,1,1],[0,0,1,2],[0,0,1,3],[0,0,1,4],[0,0,1,5],[0,0,1,6],[0,0,1,7],[0,0,1,8],[0,0,1,9],[0,0,1,10],[0,0,1,11],[0,0,1,12],[0,0,1,13],[0,0,1,14],[0,0,1,15],[0,0,1,16],[0,0,1,17],[0,0,1,18],[0,0,1,19],[0,0,1,20],[0,0,2,0],[0,0,2,1],[0,0,2,2],[0,0,2,3],[0,0,2,4],[0,0,2,5],[0,0,2,6],[0,0,2,7],[0,0,2,8],[0,0,2,9],[0,0,2,10],[0,0,2,11],[0,0,2,12],[0,0,2,13],[0,0,2,14],[0,0,2,15],[0,0,2,16],[0,0,2,17],[0,0,2,18],[0,0,2,19],[0,0,2,20],[0,0,3,0],[0,0,3,1],[0,0,3,2],[0,0,3,3],[0,0,3,4],[0,0,3,5],[0,0,3,6],[0,0,3,7],[0,0,3,8],[0,0,3,9],[0,0,3,10],[0,0,3,11],[0,0,3,12],[0,0,3,13],[0,0,3,14],[0,0,3,15],[0,0,3,16],[0,0,3,17],[0,0,3,18],[0,0,3,19],[0,0,3,20],[0,0,4,0],[0,0,4,1],[0,0,4,2],[0,0,4,3],[0,0,4,4],[0,0,4,5],[0,0,4,6],[0,0,4,7],[0,0,4,8],[0,0,4,9],[0,0,4,10],[0,0,4,11],[0,0,4,12],[0,0,4,13],[0,0,4,14],[0,0,4,15],[0,0,4,16],[0,0,4,17],[0,0,4,18],[0,0,4,19],[0,0,4,20],[0,0,5,0],[0,0,5,1],[0,0,5,2],[0,0,5,3],[0,0,5,4],[0,0,5,5],[0,0,5,6],[0,0,5,7],[0,0,5,8],[0,0,5,9],[0,0,5,10],[0,0,5,11],[0,0,5,12],[0,0,5,13],[0,0,5,14],[0,0,5,15],[0,0,5,16],[0,0,5,17],[0,0,5,18],[0,0,5,19],[0,0,5,20],[0,0,6,0],[0,0,6,1],[0,0,6,2],[0,0,6,3],[0,0,6,4],[0,0,6,5],[0,0,6,6],[0,0,6,7],[0,0,6,8],[0,0,6,9],[0,0,6,10],[0,0,6,11],[0,0,6,12],[0,0,6,13],[0,0,6,14],[0,0,6,15],[0,0,6,16],[0,0,6,17],[0,0,6,18],[0,0,6,19],[0,0,6,20],[0,0,7,0],[0,0,7,1],[0,0,7,2],[0,0,7,3],[0,0,7,4],[0,0,7,5],[0,0,7,6],[0,0,7,7],[0,0,7,8],[0,0,7,9],[0,0,7,10],[0,0,7,11],[0,0,7,12],[0,0,7,13],[0,0,7,14],[0,0,7,15],[0,0,7,16],[0,0,7,17],[0,0,7,18],[0,0,7,19],[0,0,7,20],[0,0,8,0],[0,0,8,1],[0,0,8,2],[0,0,8,3],[0,0,8,4],[0,0,8,5],[0,0,8,6],[0,0,8,7],[0,0,8,8],[0,0,8,9],[0,0,8,10],[0,0,8,11],[0,0,8,12],[0,0,8,13],[0,0,8,14],[0,0,8,15],[0,0,8,16],[0,0,8,17],[0,0,8,18],[0,0,8,19],[0,0,8,20],[0,0,9,0],[0,0,9,1],[0,0,9,2],[0,0,9,3],[0,0,9,4],[0,0,9,5],[0,0,9,6],[0,0,9,7],[0,0,9,8],[0,0,9,9],[0,0,9,10],[0,0,9,11],[0,0,9,12],[0,0,9,13],[0,0,9,14],[0,0,9,15],[0,0,9,16],[0,0,9,17],[0,0,9,18],[0,0,9,19],[0,0,9,20],[0,0,10,0],[0,0,10,1],[0,0,10,2],[0,0,10,3],[0,0,10,4],[0,0,10,5],[0,0,10,6],[0,0,10,7],[0,0,10,8],[0,0,10,9],[0,0,10,10],[0,0,10,11],[0,0,10,12],[0,0,10,13],[0,0,10,14],[0,0,10,15],[0,0,10,16],[0,0,10,17],[0,0,10,18],[0,0,10,19],[0,0,10,20],[0,0,11,0],[0,0,11,1],[0,0,11,2],[0,0,11,3],[0,0,11,4],[0,0,11,5],[0,0,11,6],[0,0,11,7],[0,0,11,8],[0,0,11,9],[0,0,11,10],[0,0,11,11],[0,0,11,12],[0,0,11,13],[0,0,11,14],[0,0,11,15],[0,0,11,16],[0,0,11,17],[0,0,11,18],[0,0,11,19],[0,0,11,20],[0,0,12,0],[0,0,12,1],[0,0,12,2],[0,0,12,3],[0,0,12,4],[0,0,12,5],[0,0,12,6],[0,0,12,7],[0,0,12,8],[0,0,12,9],[0,0,12,10],[0,0,12,11],[0,0,12,12],[0,0,12,13],[0,0,12,14],[0,0,12,15],[0,0,12,16],[0,0,12,17],[0,0,12,18],[0,0,12,19],[0,0,12,20],[0,0,13,0],[0,0,13,1],[0,0,13,2],[0,0,13,3],[0,0,13,4],[0,0,13,5],[0,0,13,6],[0,0,13,7],[0,0,13,8],[0,0,13,9],[0,0,13,10],[0,0,13,11],[0,0,13,12],[0,0,13,13],[0,0,13,14],[0,0,13,15],[0,0,13,16],[0,0,13,17],[0,0,13,18],[0,0,13,19],[0,0,13,20],[0,0,14,0],[0,0,14,1],[0,0,14,2],[0,0,14,3],[0,0,14,4],[0,0,14,5],[0,0,14,6],[0,0,14,7],[0,0,14,8],[0,0,14,9],[0,0,14,10],[0,0,14,11],[0,0,14,12],[0,0,14,13],[0,0,14,14],[0,0,14,15],[0,0,14,16],[0,0,14,17],[0,0,14,18],[0,0,14,19],[0,0,14,20],[0,0,15,0],[0,0,15,1],[0,0,15,2],[0,0,15,3],[0,0,15,4],[0,0,15,5],[0,0,15,6],[0,0,15,7],[0,0,15,8],[0,0,15,9],[0,0,15,10],[0,0,15,11],[0,0,15,12],[0,0,15,13],[0,0,15,14],[0,0,15,15],[0,0,15,16],[0,0,15,17],[0,0,15,18],[0,0,15,19],[0,0,15,20],[0,0,16,0],[0,0,16,1],[0,0,16,2],[0,0,16,3],[0,0,16,4],[0,0,16,5],[0,0,16,6],[0,0,16,7],[0,0,16,8],[0,0,16,9],[0,0,16,10],[0,0,16,11],[0,0,16,12],[0,0,16,13],[0,0,16,14],[0,0,16,15],[0,0,16,16],[0,0,16,17],[0,0,16,18],[0,0,16,19],[0,0,16,20],[0,0,17,0],[0,0,17,1],[0,0,17,2],[0,0,17,3],[0,0,17,4],[0,0,17,5],[0,0,17,6],[0,0,17,7],[0,0,17,8],[0,0,17,9],[0,0,17,10],[0,0,17,11],[0,0,17,12],[0,0,17,13],[0,0,17,14],[0,0,17,15],[0,0,17,16],[0,0,17,17]... etc.

[20,20,20,20]で終わります。

ファイルから50の組み合わせを選択し、それを変数に割り当てる必要があります。

var combinationsArr = [
[0,0,17,9],[0,0,17,10],[0,0,17,11],[0,0,17,12]
]; //BUT 50 of them

それがちょうどのように順番で[0,0,0,0],[0,0,0,1],[0,0,0,2],[0,0,0,3],[0,0,0,4],[0,0,0,5],[0,0,0,6],[0,0,0,7],[0,0,0,8],[0,0,0,9],[0,0,0,10],[0,0,0,11],[0,0,0,12]あり、のように超ランダムである必要がない場合は大丈夫です[1,2,3,4],[9,12,13,15],[20,12,6,7]

それらの50を選ぶことができる限り。

私はこれを行っています。なぜなら、194481の組み合わせが多く、私のプログラムが混乱するからです。だから私はそれをテキストファイルに入れて、[0,0,0,1]から[0,0,0,50]または[0,1,0]のようにテキストファイルからランダムなポイントを選ぶことにしました可能であれば、、 0]から[0,1,0,49]まで。

ランダムな組み合わせを生成する必要があるためです。生成されるはずのない組み合わせの別の配列があります。それをnotAllowedArrと呼びましょう。

var notAllowedArr = [
[0,0,17,9],[0,0,17,12]
];

私は、50の組み合わせを生成し、notAllowedArrにリストされているものを削除して、最終結果としてcombinationsArrから1つを選択することを考えています。これらをcombinationsArrから削除するコードを見つける必要がありますが、結果は次のようになります。

var combinationsArr = [[0,0,17,10],[0,0,17,11]];

次に、combinationsArrからランダムな値を選択するコードがあります。例。組み合わせArr [0]。

したがって、最終結果は次のようになります。 [0,0,17,10]

誰かがより良い解決策を持っていますか?

m69 ''卑劣で歓迎されない ''

私が正しく理解している場合は、禁止されている組み合わせのリストにないランダムな組み合わせを1つ選択する必要があります。

0から20までの4つの数値の組み合わせは、基数21表記の0から194480までの数値と見なすことができます。したがって、すべての組み合わせをファイルに保存する代わりに、乱数を選択して基数21に変換するだけです。

一部の値が禁止されている範囲の乱数を選択するには、0から最大値から禁止値の数を引いた範囲の数値を選択します。次に、禁止値を小さいものから大きいものへと繰り返し、それ以下の禁止値が見つかるたびに乱数をインクリメントします。

これにより、すべての組み合わせが同じ確率で選択されるようになり、禁止されている組み合わせを繰り返し選択する可能性が回避されます。

function randomBase21(skip) {
    var dec = [], result = [], num;
    // CONVERT FORBIDDEN COMBINATIONS FROM BASE-21 TO DECIMAL AND SORT
    for (var i = 0; i < skip.length; i++) {
        dec[i] = skip[i][0] * 9261 + skip[i][1] * 441 + skip[i][2] * 21 + skip[i][3];
    }
    dec.sort(function(a, b){return a - b});
    // GENERATE RANDOM NUMBER FROM 0 TO MAX - NUMBER OF FORBIDDEN COMBINATIONS
    num = Math.floor(Math.random() * (194481 - skip.length));
    // INCREMENT RANDOM NUMBER FOR EVERY SMALLER FORBIDDEN COMBINATION
    for (var i = 0; i < skip.length && num >= dec[i]; i++) {
        ++num;
    }
    // CONVERT RANDOM NUMBER TO FOUR BASE-21 DIGITS
    for (var i = 3; i >= 0; i--, num /= 21) {
        result[i] = Math.floor(num % 21);
    }
    return result;
}

var notAllowed = [[0,0,17,9],[0,0,17,12],[20,19,17,12],[15,16,17,12]];
document.write(randomBase21(notAllowed));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

すべての組み合わせからいくつかの組み合わせを効率的にランダムに選択する方法

分類Dev

値の組み合わせに関連付けられた ID を選択してください

分類Dev

リストからランダムにランダムに選択します。選択されていない場合は、別のものを選択してください。

分類Dev

JavaScriptの文字列からランダムな文字を選択してください

分類Dev

Haskellのリストからランダムな要素を選択してください

分類Dev

与えられたドロップダウンメニューから選択されたすべての可能な組み合わせについて、ウェブサイトから結果を「スクレイプ」するPythonプログラムを作成するにはどうすればよいですか?

分類Dev

いくつかの制約を考慮して、ラウンドごとに1つのチームを選択する最良の組み合わせ

分類Dev

確率の可能性に基づいてランダムな値を選択します

分類Dev

Pythonで過去2年間からランダムな月を選択してください

分類Dev

配列からランダムに名前を選択します(配列の先頭の値の可能性が高くなります)

分類Dev

Pythonですべての組み合わせのサブセットをランダムに選択します

分類Dev

組み合わせ論:要素を繰り返さずにランダム化、私は不可能なことをしようとしていますか?

分類Dev

値の組み合わせがないデータベースからアイテムを選択します

分類Dev

パンダ:同じ列値を持つ複数の行を組み合わせて、すべての可能性をカバーする新しいデータフレームを作成するにはどうすればよいですか?

分類Dev

相互に排他的なオプションから、可能なすべての選択肢の組み合わせを生成します

分類Dev

ランダムなXML要素を選択してください-機能していません

分類Dev

配列からランダムにフォントを選択し、繰り返さないでください

分類Dev

コレクションから1つ以上の関数をランダムに選択し、組み合わせを適用します

分類Dev

いくつかのリストからすべての可能な組み合わせを生成します

分類Dev

リストに重みを付けて、インデックスが低いアイテムを作成すると、ランダムに選択される可能性が高くなりますか?

分類Dev

SQLはランダムな順序で選択しますが、特定の列から重複を選択しないでください

分類Dev

phpまたはmysqlは、各組み合わせからランダムな順序でデータを選択します

分類Dev

2つのリストのセットからランダムなアイテムを選択し、すべての可能性から構築された別のリストからそのアイテムのセットを削除するにはどうすればよいですか?

分類Dev

キーを使用して、さまざまなリストからエンティティの一意の組み合わせを選択します

分類Dev

Djangoフォームエラー:有効な選択肢を選択してください。...利用可能な選択肢の1つではありません

分類Dev

IDが「ランダム」であるものを選択してください

分類Dev

4つのランダムprintfを選択してください

分類Dev

データフレームをさまざまな可能な組み合わせで分割し、個別のデータフレーム内のすべての組み合わせについてランダムに数パーセントのデータを取得します

分類Dev

IF条件を使用して、複数のビンから1つのアイテムを選択するときに、可能なすべての組み合わせを返します

Related 関連記事

  1. 1

    すべての組み合わせからいくつかの組み合わせを効率的にランダムに選択する方法

  2. 2

    値の組み合わせに関連付けられた ID を選択してください

  3. 3

    リストからランダムにランダムに選択します。選択されていない場合は、別のものを選択してください。

  4. 4

    JavaScriptの文字列からランダムな文字を選択してください

  5. 5

    Haskellのリストからランダムな要素を選択してください

  6. 6

    与えられたドロップダウンメニューから選択されたすべての可能な組み合わせについて、ウェブサイトから結果を「スクレイプ」するPythonプログラムを作成するにはどうすればよいですか?

  7. 7

    いくつかの制約を考慮して、ラウンドごとに1つのチームを選択する最良の組み合わせ

  8. 8

    確率の可能性に基づいてランダムな値を選択します

  9. 9

    Pythonで過去2年間からランダムな月を選択してください

  10. 10

    配列からランダムに名前を選択します(配列の先頭の値の可能性が高くなります)

  11. 11

    Pythonですべての組み合わせのサブセットをランダムに選択します

  12. 12

    組み合わせ論:要素を繰り返さずにランダム化、私は不可能なことをしようとしていますか?

  13. 13

    値の組み合わせがないデータベースからアイテムを選択します

  14. 14

    パンダ:同じ列値を持つ複数の行を組み合わせて、すべての可能性をカバーする新しいデータフレームを作成するにはどうすればよいですか?

  15. 15

    相互に排他的なオプションから、可能なすべての選択肢の組み合わせを生成します

  16. 16

    ランダムなXML要素を選択してください-機能していません

  17. 17

    配列からランダムにフォントを選択し、繰り返さないでください

  18. 18

    コレクションから1つ以上の関数をランダムに選択し、組み合わせを適用します

  19. 19

    いくつかのリストからすべての可能な組み合わせを生成します

  20. 20

    リストに重みを付けて、インデックスが低いアイテムを作成すると、ランダムに選択される可能性が高くなりますか?

  21. 21

    SQLはランダムな順序で選択しますが、特定の列から重複を選択しないでください

  22. 22

    phpまたはmysqlは、各組み合わせからランダムな順序でデータを選択します

  23. 23

    2つのリストのセットからランダムなアイテムを選択し、すべての可能性から構築された別のリストからそのアイテムのセットを削除するにはどうすればよいですか?

  24. 24

    キーを使用して、さまざまなリストからエンティティの一意の組み合わせを選択します

  25. 25

    Djangoフォームエラー:有効な選択肢を選択してください。...利用可能な選択肢の1つではありません

  26. 26

    IDが「ランダム」であるものを選択してください

  27. 27

    4つのランダムprintfを選択してください

  28. 28

    データフレームをさまざまな可能な組み合わせで分割し、個別のデータフレーム内のすべての組み合わせについてランダムに数パーセントのデータを取得します

  29. 29

    IF条件を使用して、複数のビンから1つのアイテムを選択するときに、可能なすべての組み合わせを返します

ホットタグ

アーカイブ