c++ - 概率和随机数

标签 c++ random probability

我刚开始使用 C++,正在创建一个简单的基于文本的冒险。我想弄清楚如何获得基于概率的事件。例如,当你打开盒子时,有 50% 的几率是一把剑,50% 的几率是一把刀。我知道如何制作随机数生成器,但我不知道如何将该数字与某物相关联。我创建了一个我想要的变体,但它需要用户输入随机数。我想知道如何将 if 语句基于随机数是大于还是小于 50,而不是用户输入的数字是大于还是小于 50。

最佳答案

将其余运算符 % 与 rand 一起使用。 rand()%2 可以给你 0 或 1。 令 0 为剑,1 为刀。

如果你还需要一把斧头,那么使用 rand()%3。 它可以给你 0,1 或 2。
2 代表一把斧头,0 和 1 像上面一样。 if 和 else 就很明显了。

rand()%n 其中 n 是一个大数字,给你较小数字的概率更高。概率分布不均。您可以从 STL 或 boost 查看一些随机数生成器。

关于c++ - 概率和随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44709963/

相关文章:

c++ - 使用 GCC ARM Embedded 编译时代码大小加倍?

c# - 如何生成[0,1]范围内的随机双数?

c - 使用 while 和 do-while 循环在 C 中输出简单的猜数游戏

python - Python中高效随机0,1代独立概率

algorithm - 将水果放入盒子中的最小 Action

python - RandomForestClassifier(sklearn)的predict_proba(X)似乎是静态的?

c++ - 如何使用工作线程正确退出Qt应用程序?

c++ - 如何在 C++ 和 OpenCV 中的 vector vector 中存储来自不同图像的多个描述符?

c++ - 谷歌浏览器,本地客户端支持和开发

java - 需要一个快速的 Java beta 分布随机数生成器