我想通過使用perl生成64個不重複的只包含0和1(例如111111,101111,000000)的6位數字的迭代。 我發現的代碼可以生成隨機十六進制並嘗試修改它,但我認爲我的代碼都是錯誤的。這是我的代碼:在perl中生成隨機二進制數
use strict;
use warnings;
my %a;
foreach (1 .. 64) {
my $r;
do {
$r = int(rand(2));
}
until (!exists($a{$r}));
printf "%06d\n", $r;
$a{$r}++;
}
你是什麼使用你的隨機數字?因爲你應該注意 - perl隨機不是'強',所以不適合任何與安全有關的東西。 – Sobrique
我實際上想要生成所有可能的6位二進制數。由於手寫所有可能的組合很麻煩,並且容易出現人爲錯誤,所以我認爲通過使用rand()而不重複並將其存儲到數組中來生成它是個好主意。 – irwan
這是一個非常低效的方法。爲什麼不計算從0到63並以二進制打印? – Sobrique