首页 > 后端开发 > C++ > 如何生成唯一且不重复的随机数?

如何生成唯一且不重复的随机数?

Barbara Streisand
发布: 2025-01-12 13:47:43
原创
700 人浏览过

How Can I Generate Unique Random Numbers Without Duplicates?

避免重复的随机数生成器

在生成彩票或其他场景的随机数时,确保同一行中的数字唯一至关重要。最初提供的代码未能解决此问题,可能导致重复。

解决重复问题

为了解决这个问题,必须将生成的数字存储在一个集合中。每次选择一个新数字时,检查它是否已存在于集合中。如果存在,则生成一个新数字,直到找到一个唯一的数字为止。

使用不同的方法

或者,一种更有效的方法是生成 1 到 49 之间的数字序列,随机打乱它们,然后从打乱的序列中选择前六个数字。这确保了唯一性,无需不断检查。

以下是使用此方法改进后的代码:

<code>var rnd = new Random();
var randomNumbers = Enumerable.Range(1, 49).OrderBy(x => rnd.Next()).Take(6).ToList();</code>
登录后复制

此代码生成一个随机序列,然后对其进行洗牌并选择前六个数字,保证没有重复。

以上是如何生成唯一且不重复的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板