人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ボックスガチャの計算方法。できればエクセルで。

例えば、ガチャの中に100枚のカードがあり、あたりが2つあるとします。この時、あたりを1つ引く回数の期待値はいくつなのでしょう?また、2つとも引く回数の期待値もおしえてください。

他にも、100枚のうち、あたりが5つあり、そのうち1つ引く回数、2つ引く回数なども知りたいです。


●質問者: iiiiiiiii
●カテゴリ:科学・統計資料
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント ベストアンサー

Ruby でやってみました。

def get_expected_value(n, hit, need)

 random = Random.new

 data = []
 20000.times {
 a = []
 hit.times {
 a << random.rand(1..n)
 }

 data << a.sort[need - 1]
 }

 sum = data.inject(0) { |s, i| s += i }

 sum / data.length.to_f
end

def challenge(n, hit, need)
 data = []
 5.times {
 ev = get_expected_value(n, hit, need)
 data << ev
 puts "#{hit} / #{n} : #{need} --> #{ev}"
 }
 puts "AVERAGE : #{hit} / #{n} : #{need} --> #{data.inject(0) { |s, i| s += i } / data.length.to_f }\n\n"
end

challenge(100, 2, 1)
challenge(100, 2, 2)
challenge(100, 5, 1)
challenge(100, 5, 2)

厳密ではないんですが、全体の枚数に比べて当たりの数が少ないので、問題ないでしょう。
出力は、こんな感じ。

2 / 100 : 1 --> 33.88975
2 / 100 : 1 --> 33.91605
2 / 100 : 1 --> 33.7368
2 / 100 : 1 --> 33.84725
2 / 100 : 1 --> 33.8828
AVERAGE : 2 / 100 : 1 --> 33.854530000000004

2 / 100 : 2 --> 67.1916
2 / 100 : 2 --> 66.86195
2 / 100 : 2 --> 67.00155
2 / 100 : 2 --> 67.2567
2 / 100 : 2 --> 66.7357
AVERAGE : 2 / 100 : 2 --> 67.00949999999999

5 / 100 : 1 --> 17.17825
5 / 100 : 1 --> 17.27755
5 / 100 : 1 --> 17.26575
5 / 100 : 1 --> 17.24345
5 / 100 : 1 --> 17.0687
AVERAGE : 5 / 100 : 1 --> 17.206739999999996

5 / 100 : 2 --> 33.84685
5 / 100 : 2 --> 33.762
5 / 100 : 2 --> 33.84545
5 / 100 : 2 --> 33.9635
5 / 100 : 2 --> 33.8712
AVERAGE : 5 / 100 : 2 --> 33.8578

まとめると、こんな感じです。

当たりの数欲しい数回数の期待値
2
1
33.85
2
2
67.01
5
1
17.21
5
2
33.86

iiiiiiiiiさんのコメント
ありがとうございます!素晴らしいですね! Rubyのコードも参考にさせていただきます!!!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ