0

これを実装する方法はわかりませんが、ここに説明があります:

  • 0 ~ 10 の範囲の数値を入力として取ります (0 は常に false を返し、10 は常に true を返します)
  • 入力として受け取った引数を関数に渡し、必要なブール値が true か false かを実行時に決定します。

たとえば、次のように言います。

入力番号 7 -> (7 は真のブール値を生成する可能性が 70% あります) -> 関数に渡し、関数から生成されたブール値を取得します。

この関数は複数回 (おそらく 1000 回以上) 実行されます。

助けてくれてありがとう、私はそれを感謝します。

4

4 に答える 4

4
bool func(int v) {
  float f = rand()*1.0f/RAND_MAX;
  float vv= v / 10.0f;
  return f < vv;
}
于 2013-06-07T22:27:58.470 に答える
0

ここにアイデアがありますが、それが役立つかどうかはわかりません。

bool randomChoice(int number){
    int result =rand() % 10;
    return number>=result;

    }

お役に立てば幸いです

于 2013-06-07T22:30:50.937 に答える
0

パーセンテージ (1 から 100 など) を表す乱数を生成し、乱数がパーセンテージ以下の場合は true とマークし、そうでない場合は false とマークします。

于 2013-06-07T22:28:14.143 に答える
0

これは興味深い質問です。疑似コードで、あなたがすべきだと思うことは次のとおりです。

boolean[] booleans = new boolean[10]; //boolean array of length 10

function generateBooleans(){
    loop from i = 0 to 10:
        int r = random(10);    //random number between 0 and 9, inclusive
        if(r < i){
            booleans[i] = true;
        }
    }
}

次に、ユーザーの入力をブール配列と比較して、事前に決定されたブール値を取得できます。

boolean isTrue = booleans[userInputNumber]
于 2013-06-07T22:34:15.223 に答える