重複なしの乱数生成
夏のインターンで必要になり作ったやつです.ファイル整理してたらでてきたのでメモがわりにうp.
0〜num-1までの整数を重複なしにnum個生成するプログラムです.
値は配列に格納されます.
プログラム
//重複なしに乱数を発生させるプログラム function random_num(num){ //乱数の配列生成 var random = new Array(); for (i = 1; i < num; i++) { random[i]=Math.floor(Math.random()*num); } var j; random[0]=Math.floor(Math.random()*num); //配列内に重複してるものがあるか探査.あったら重複しなくなるまで乱数発生 for (i = 1; i < num; i++) { j = 0; while(j<i){ while(random[i] == random[j]){ random[i]=Math.floor(Math.random()*num); j=0; } j++; } } return random; }