我刚开始使用 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/