20/03/14 19:40:53.31 joJxF0LZ.net
>>789
シミュレーションで近似してみました。
> balls=rep(1:3,7:5) # 玉の配列 1:赤 2:白 3:黒
> picked=NULL # 取り出された玉の配列
> flag=FALSE # 赤玉が全部取り出されたかのflag
> sim <- function(){
+ while(flag==FALSE){
+ i=sample(length(balls),1) # 配列ballsのindexから1つ選んで
+ picked=c(picked,balls[i]) # そのindex相当の玉をpickedにいれて
+ balls=balls[-i] # ballsの配列から除く
+ flag=sum(picked==1)==7 # 赤玉が全部取り出されたか
+ }
+ # 取り出した白玉の個数
+ a0=sum(picked==2)
+ # 取り出した白玉の個数から残った黒玉の個数を引いた値
+ a1=sum(picked==2)-sum(balls==3)
+ # 取り出した白玉の個数から残った白玉の個数を引いた値
+ a2=sum(picked==2)-sum(balls==2)
+ # 取り出した白玉の個数と残った黒玉の個数を掛けた値
+ a3=sum(picked==2)*sum(balls==3)
+ # 取り出した白玉の個数と残った白玉の個数を掛けた値
+ a4=sum(picked==2)*sum(balls==2)
+ return(c(a0,a1,a2,a3,a4))
+ }
> k=1e6
> re=replicate(k,sim())
> apply(re[2:5,]