c# - 随机数生成连续几次给出相同的数字
问题描述
我想多次创建随机数。在下面的片段中,我尝试从同一个随机变量生成 0 到 5 之间的 100 个数字。不过,我连续得到相同的数字。我只是希望我的下一个号码应该与生成的上一个号码不同。
Random random = new Random();
for(int i=0;i<100;i++)
{
int num = random.Next(5);
Console.WriteLine(num);
}
数字如何显示的图片。
解决方案
在真正随机的序列中,您自然会得到重复。如果您想人为地抑制重复,请尝试以下操作:
Random random = new Random();
int last = -1;
for(int i=0;i<100;i++)
{
int num;
do {
num = random.Next(5);
} while(num == last)
last = num;
Console.WriteLine(num);
}
推荐阅读
- typescript - Typescript - 如何将函数指针传递给函数并在函数体内调用
- blockchain - 关于区块链和智能合约的几个问题
- python - Pandas:从给定名称列表中获取列索引
- r - 如何在 R 中创建类似于附加图像的视觉效果?
- spring-boot - WebFlux 添加阻塞逻辑
- javascript - 当用户播放另一个视频时停止当前视频播放?
- java - 将 log4j 附加到 logback 日志
- c++ - 如何跟踪添加到我的图形场景中的 QAbstractGraphicsShapeItem 的索引
- android - adb 服务器版本 (40) 与此客户端 (41) 不匹配;杀戮
- html - 在文本块中保留换行符,但限制为一行