JavaScript

ソシャゲのボックスガチャの当たるまでにかかる金額の期待値をプログラム化してみた

More than 1 year has passed since last update.

ソシャゲのボックスガチャでどれくらいお金賭けたら出るんだろうという興味でやってみました

期待値

[https://ja.wikipedia.org/wiki/%E6%9C%9F%E5%BE%85%E5%80%A4]

参考サイト

[http://ch.nicovideo.jp/potechy/blomaga/ar1050457]

[https://gyazo.com/2a76ba02bc24c3f79c04111bbf18e7b9]

上記をプログラム化する

function math(){
  var lottery_count = 100; //ボックス内全体数
  var lottery_once_bet_amount = 300; //1回に掛かる金額
  var lottery_hit_count = 2; //当たり数
  var c = 0;
  var k = t(lottery_count,lottery_hit_count);
  for(var x = 1; x <= (lottery_count-(lottery_hit_count-1)); x++){
    c += (1/k)*(x)*(t(lottery_count-x,lottery_hit_count-1));
  }
  var ev = c * lottery_once_bet_amount; //当たるまでいくらかければいいかの期待値
}
function t(n,c){
  var l = 1;
  var m = 1;
  for(var x = 0 ; x < c; x++){
    l = l*(n-x);
    m = m*(x+1);
  }
  return l/m;
}

100個ある中で3個のあたりを狙い1回300円かかる場合=25.25*300=7575円という期待値
100個ある中で1個のあたりを狙い1回300円かかる場合=50.5*300=15150円という期待値