rand函數產生的值如何取決於它的種子值。當我們沒有定義任何種子時,它的值如何不同。 下面是我發現生成號碼整數數組任何一個可以請解釋代碼:rand中rand的工作原理
#!/usr/bin/perl -w
# Linear search of an array
# Note that if you later on want to search for something from a
# list of values, you shouldn’t have used an array in the first
# place.
# Generating 10 integers
$NUM = 10;
$MAXINT = 100; # 1 + the maximum integer generated
srand(); # initialize the randomize seed
print "Numbers Generated:\n(";
for $i (1 .. $NUM) {
push @array, sprintf("%d", rand(1) * $MAXINT);
print $array[$i-1];
print ", " unless ($i == $NUM);
}
print ")\n\n";
提及rand(1)的用法是什麼,它的值如何隨着MAXINT相乘而變化。 – 2011-03-21 07:08:15
我正在運行相同的程序,在$ NUM和$ MAXINT中稍作修改。我使用$ NUM作爲2和$ MAXINT作爲4.所以我只需要2個(在$ NUM中指定)隨機值。當我運行這個程序時,有時我會得到相同的隨機值。我如何確保始終獲得獨特的價值? – rpg 2011-06-16 08:10:25
@ user502937:'my $ MAXINT = 5;我的$ NUM = 4;我的@array;我看到的%; for(1.. $ NUM){my $ rand = int rand $ MAXINT; $看過{$ rand} ++和重做; push @array,$ rand} print「(」,join(「,」,@array),「)\ n \ n」;' – ysth 2011-06-16 08:23:01