私はちょうどC + +で始まり、単純なテキストベースの冒険を作成しています。私は、確率に基づくイベントをどのように持つかを見極めようとしています。たとえば、箱を開けたときに剣があり、刃が50%の確率で50%の確率で倒れる可能性があります。私は乱数生成器を作る方法を知っていますが、その番号を何かに関連付ける方法はわかりません。私が望むもののバリエーションを作りましたが、ユーザは乱数を入力する必要があります。私は、乱数が50以上であるか50未満であるかに基づいてif文を生成する方法を考えています。確率と乱数
Q
確率と乱数
0
A
答えて
-1
rand()
を使用すると、範囲0..RAND_MAX
です。だからあなたのようなもの行うことができ、50%の確率のために:
#include <stdlib.h>
if (rand() < RAND_MAX/2)
{
// sword - 50% probability
}
else
{
// knife - 50% probability
}
をあなたは明らか単純に各ケースの範囲0..RAND_MAX
で適切なしきい値を定義することにより、各ケースの任意の確率で二つ以上の異なる例にこれを拡張することができます、例えば
int r = rand();
if (r < RAND_MAX/4)
{
// sword - 25% probability
}
else if (r < 3 * RAND_MAX/4)
{
// knife - 50% probability
}
else
{
// axe - 25% probability
}
2
%とrandの残りの演算子を使用します。 0を剣に、1をナイフにすることができます。 rand()%2はあなたに0または1を与えます。
axが必要な場合は、rand()%3を使用してください。 0,1、または2を与えることができます。
2はaxを表し、0と1は上記と同じです。 ifとelsesは明らかです。
rand()%nここでnが大きい数値のほうが小さい数値を返す可能性が高くなります。確率は等しく分布していない。 stlやboostからいくつかの乱数ジェネレータをチェックアウトすることができます。
関連する問題
- 1. c#確率と乱数
- 2. 確率的乱数?
- 3. 確率を持つ乱数
- 4. Pythonのnumpyの乱数確率
- 5. Pythonで確率で乱数ジェネレータ
- 6. 確率で乱数を生成する
- 7. 前方に傾いている乱数の確率分布
- 8. 確率分布で範囲内の乱数を生成する
- 9. 必要な確率で乱数を生成する方法は?
- 10. 特定の確率で乱数を生成する
- 11. 確率関数 -
- 12. 低い数値を与える確率が高い乱数発生器?
- 13. 任意の確率密度関数から乱数を生成する
- 14. ログイン確認の乱数
- 15. Pythonで特定の確率で乱数を生成する方法は?
- 16. 乱数1または2を得る確率を設定する
- 17. ランダム確率分布確率分布から一定数
- 18. プロットジョイント確率密度関数
- 19. パーセンテージに基づく確率確率
- 20. 確率
- 21. C++での確定的乱数ストリームSTL
- 22. 確率と漸近線
- 23. C#と「加重確率」
- 24. 数値の確率を与えられた範囲内で乱数を生成する方法
- 25. 乱数とAJAX
- 26. 確率分布から確率分布関数を作成する
- 27. Pythonの確率分布関数
- 28. 累積確率密度関数
- 29. 確率関数のテストを書く
- 30. 確率関数の畳み込みPython