2012年6月28日

摘要: 1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。随机数生成器总是以相同的种子开始,所以形成的伪随机数列也相同,失去了随机意义。2、C++中另一函数srand( ),可以指定不同的数(无符号整数变元)为种子。但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子,但是仍然不理想。3、比较理想的是用变化的数,比如时间来作为随机数生成器的种子。 time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。// C++随机函数#include 阅读全文
posted @ 2012-06-28 18:12 很多不懂呀。。 阅读(903) 评论(0) 推荐(0) 编辑
摘要: 洗牌算法网上讲的也不少了,归结起来有如下两种形式。第一种是每次找一个随机的位置,将54个数依次放到找到的位置中,其思路大概这样的:1、用一个Bool型数组记录各个位置是否已经放置了数,如果放置则置true,没有则为false。在算法开始时数组初始化为false。2、每次产生一个0~53的随机数,看这个位置是否已经放置了数,如果已经放置了,则继续用同样的方法找一个随机位置判断;如果这个位置还未放置,则设置此位置,并标记其已经放置。3、反复执行(2)直到所有的位置都放置了数为止。只要设置成功54次数就说明所有位置已经设置了数。它的一个例子:void shuffle(int dest[],int n 阅读全文
posted @ 2012-06-28 18:08 很多不懂呀。。 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 1、生成随机数的方法Function SetEmpId() As String Dim ref As String Randomize ref = Int((99999 - 10000) * Rnd + 10000) SetEmpId = refEnd FunctionThis function’s purpose is to assign a unique five-digit number to each new employee. To generate a random integer between two given integers where ending_number = 9 阅读全文
posted @ 2012-06-28 12:47 很多不懂呀。。 阅读(3691) 评论(0) 推荐(0) 编辑

导航