黒と白の玉

2個取り出しどちらかが黒だった場合、もう一つが黒である確率

HTML

<div id="result"></div>

JavaScript

var r;
r = test();
document.getElementById("result").innerHTML = r;

function test() {
  var num_balls, trial, all, black, ct, balls, i, j, x, y, temp;
  num_balls = 100; //玉の数
  trial = 10000; //試行回数
  all = 0; //どちらかが黒であった回数
  black = 0; //もう一つが黒であった回数
  for (ct = 0; ct < trial; ct++) {
    //黒と白の玉を入れる
    balls = [];
    for (i = 0; i < num_balls / 2; i++) {
      balls.push(0); //黒
      balls.push(1); //白
    }
    //黒と白の玉を混ぜる
    for (j = 0; j < 1000; j++) {
      x = Math.floor(Math.random() * num_balls);
      y = Math.floor(Math.random() * num_balls);
      temp = balls[x];
      balls[x] = balls[y];
      balls[y] = temp;
    }
    if (balls[0] === 0 || balls[1] === 0) { //どちらかが黒
      all++;
      if (balls[0] === 0) { //左が黒
        if (balls[1] === 0) { //もう一つが黒
          black++;
        }
      } else if (balls[1] === 0) { //右が黒
        if (balls[0] === 0) { //もう一つが黒
          black++;
        }
      }
    }
  }
  return black + "/" + all + "=" + (black / all);
}