基于种子的随机化perl

时间:2015-06-05 04:15:01

标签: perl random seed

我有一个数组定义说@Array(1..31)。现在我有一个代码,我随机选择一个数字一定次数,并将结果存储在另一个数组中。示例如下:

$a1 = $Array[rand(@Array)];
push (@a2, $a1);

现在,当我多次执行此脚本时,我发现新数组每次都包含非常不同的模式。但我不希望这样,我希望每次都能产生类似的模式 - 种子进入画面。

有人可以帮助我如何将种子合并到从阵列中随机选择可预测的元素

1 个答案:

答案 0 :(得分:0)

您不能将rand替换为srand:您使用srand初始化rand的种子:因此请调用srand(0)一次,然后使用{{ 1}}和你一样。

根据您的评论,您可以使用:

rand

或者回到原始代码,只需添加第一行:

srand(0);
sub random {
    my $random_select = $_[rand(@_)];
    print " The random number selected is $random_select\n";
    return $random_select;
}