Perlで乱数生成
重ならない乱数列を作るには…。
とてもめんどくさいですね。
もっと軽くできないのかしらん?
#!/usr/bin/perl my $max = 2048; # 0 ~ 2047の乱数 my $ro = 200; # 生成する乱数の数 my @num; srand(12345); # seed for(my $i = 0; $i<$ro;$i++){ my $a = int(rand($max)); # 乱数を生成 for(my $j = 0; $j < $i; $j++){ $t = 1; # フラグたてる if($num[$j] eq $a){ # リストと比較 $t = 0; # フラグ下ろす last; # ループを抜け出す } } if($t == 1){ push(@num,$a); # リストに乱数を追加 print"$a\n"; # 乱数を出力 } }