【发布时间】:2019-10-17 20:51:23
【问题描述】:
我尝试使用“Bays & Durham Randomization by Shuffling”算法即兴创作一个随机数生成器。我按照网上的教程制作了这段代码:
public int[] GenerateRandomSequence_Improved(int n, int min, int max)
{
int[] seq = new int[n];
for(int i = 0; i < n; i++)
{
int rand = GenerateNextRandomNumber(min, max);
rand = min + rand % (max + 1 - min);
seq[i] = rand;
}
return seq;
}
我想知道我做得对不对..
编辑:这是 GenerateNextRandomNumber 方法的代码
public int GenerateNextRandomNumber(int min, int max)
{
return cSharpRNG.Next(min,max);
}
【问题讨论】:
-
GenerateNextRandomNumber的代码在哪里? -
我的错,我现在要添加它!
-
能否提供在线教程的链接?
-
好的,现在
cSharpRNG.Next不见了。 -
我认为
rand = min + rand % (max + 1 - min);不是必需的,因为Random.Next(Int32, Int32) 已经返回了请求范围内的值。 (包括下限,不包括上限)。而且我没有看到任何洗牌。您只是用随机数初始化数组。