没有重复的随机数生成器
Random Number Generator without duplicates
本文关键字:随机数生成器 更新时间:2023-10-16
>我有这个:
for(int i=1; i<=6; i++)
cout<<rand()%48+1<<" ";
如何编辑此脚本,以便没有机会获得超过 2 次的数字?(所有数字不得重复)
没有预定义的方法。如果您只想在较小的值范围内拥有随机数,则可以保护数组中每个数字的两个副本,然后从数组中获取一个随机元素:
伪代码:
AvailableNumbers = array(1, 1, 2, 2, ... 48, 48)
// Shuffle the array:
For i = 1 : 48 {
swap(AvailableNumbers[i], AvailableNumbers[rand(0, len(AvailableNumbers) - 1])
}
// Take 6 elements:
for i = 1 : 6 {
print pop(AvailableNumbers[i])
}
其中 pop 是一个堆栈 pop,它返回数组的第一个元素并将其删除。
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 制作具有平均值的随机数生成器
- C++ 随机数生成器:尝试将结果作为向量获取,但通过制作 void 函数来执行此操作而出现错误
- 尝试在 c++ 中创建随机数生成器并收到错误
- 存储并重新加载随机数生成器状态
- 作为随机数生成器的争用条件
- 播种随机数生成器以使用分叉的好方法是什么?
- 随机数生成器的性能因平台而异
- 随机数生成器的种子和状态有什么区别?
- RcppShark 随机森林示例引发有关随机数生成器的异常
- C++多个实例的随机数生成器组种子中增强
- C++随机数生成器仅生成 0 - C++ 11
- GSL+OMP:C++中的线程安全随机数生成器
- 贪吃蛇游戏 - 食物瓷砖的随机数生成器
- 随机数生成器在 C++ 用于 skipList.
- RSA 加密和解密期间的随机数生成器要求
- 如何使用 cpp 设置随机数生成器的语法?
- 产生相同结果的随机数生成器
- C++随机数生成器通常在 Visual Studio 中运行程序时在 2 次后停止生成数字
- 如何理解C++11随机数生成器