C# 不重复 均匀分布 随机数 RT,需要产生一些这样的随机数。希望满足正态分布! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Random rdm = new Random(); rdm.NextDouble(); rdm.Next(); Random rdm = new Random(); rdm.NextDouble(); //产生0到1的随机小数 rdm.Next(0,100); //产生0到100的随机数 要在10000000 - 99999999之间产生100万个不重复的随机数。可以建立一个表table1,这个表有两个字段,一个是所产生的随机数字段(int型),另外一个也是int型字段。 使用99999999 - 10000000 =89999999 整除 1000000 = 89(舍去)。然后从10000000开始循环1000000次,从10000000开始每一次加89, 即10000000、10000089、10000178... 然后每循环一次,使用newid生成一个随机数,将这两个数做为值插入table1中。即第一个字段插入按步长89递增的数,第二个数是使用newid随机生成的数。这样,table1就有100万条记录了,不过随机值是顺序的。但由于第二个字段是随机的,因此,只要按第二个字段排序,第一个字段上的值就是随机的。 这样做不用检查重复值就可以保证得到1000000个无重复的随机数。而且它们是均匀分布在10000000到99999999之间。 当然,也可以随机变化89的步长,使其更加随机。 这样做还有一个好处,可以分批地生成记录,然后一起插入表中。如一次产生1000条这样的记录,插入后再产生下一千条记录。这样只要循环1000次就可完成。google 猫哥...Guid 的生成与正态分布有关吗 C# UDPClient网络编程问题 您请求的报表需要更多信息. 加代码 求解决!! winform datagridview 查询问题?在线 c#winform多线程实现进度条 關於讀取字串中的xml 的內容 C#中struct与class toolBar是上下的,里面的buttons 能否让它们上下居中排列呢???怎么buttons都靠左啊?? 一个带数据库(比如access)的项目能否刻进光盘,还有.net框架要不要一起刻进去? 谁知道百度和QQ以及优酷有多少服务器? 关于ip库的问题? 大虾们,怎么从右截取字符串 WinFrom listbox控件怎样取id值?
rdm.NextDouble();
rdm.Next();
rdm.NextDouble(); //产生0到1的随机小数
rdm.Next(0,100); //产生0到100的随机数
使用99999999 - 10000000 =89999999 整除 1000000 = 89(舍去)。然后从10000000开始循环1000000次,从10000000开始每一次加89, 即10000000、10000089、10000178... 然后每循环一次,使用newid生成一个随机数,将这两个数做为值插入table1中。即第一个字段插入按步长89递增的数,第二个数是使用newid随机生成的数。这样,table1就有100万条记录了,不过随机值是顺序的。但由于第二个字段是随机的,因此,只要按第二个字段排序,第一个字段上的值就是随机的。
这样做不用检查重复值就可以保证得到1000000个无重复的随机数。而且它们是均匀分布在10000000到99999999之间。 当然,也可以随机变化89的步长,使其更加随机。 这样做还有一个好处,可以分批地生成记录,然后一起插入表中。如一次产生1000条这样的记录,插入后再产生下一千条记录。这样只要循环1000次就可完成。google
猫哥...Guid 的生成与正态分布有关吗