<分区>
我怎样才能获得从 1 到 12 的 C++ 随机值?
所以我要 3 个、6 个或 11 个?
<分区>
我怎样才能获得从 1 到 12 的 C++ 随机值?
所以我要 3 个、6 个或 11 个?
最佳答案
使用以下公式:
M + rand() / (RAND_MAX / (N - M + 1) + 1), M = 1, N = 12
并阅读此 FAQ .
编辑:关于这个问题的大多数答案都没有考虑到这样一个事实,即糟糕的 PRN 生成器(通常由库函数 rand()
提供)在低位上不是很随机。因此:
rand() % 12 + 1
还不够好。
关于C++ 如何获得从 1 到 12 的随机值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254498/