看板 Perl 關於我們 聯絡資訊
各為版友大家好 小弟有個問題,如標題所述 現在想寫一個功能 大致上就是隨機從n個數字中取出m個不重複的數字 目前寫出來的可以正確執行 可是當數字大的時候就會執行頗久的 想請教各位有沒有更有效率的寫法0.0? 目前的程式碼如下 sub randpick { my $max = shift; my $need = shift; my %pick; my @picked = keys %pick; while (@picked < $need) { my $num = int(rand($max)); $pick{$num} = 1; @picked = sort{$a <=> $b} (keys %pick); } return %pick; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.150.166 ※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1415004377.A.86D.html