「2014-08-27 0からR」に例を取れば,
http://d.hatena.ne.jp/ryamada/20140827
k 種類(1~kの数が書かれているとしよう),各 n 枚のカードから,
set = rep(seq_len(k), n)
m 枚取り出し
sample(set, m)
総和が p 以上
sum(sample(set, m)) > p
になると「勝ち」
これを n.rep 回繰り返し
replicate(n.rep, sum(sample(set, m)) > p)
「勝ち」の回数を数える(勝ち率を計算するなら,sum を mean にするだけ)
sum(replicate(n.rep, sum(sample(set, m)) > p))
関数定義も for ループも不要