- 227 名前:132人目の素数さん mailto:sage [2020/02/09(日) 08:42:25.56 ID:+DmUozks.net]
- >>218
シミュレーションしてみたら、0.5前後の値が返ってきた。 seat.n <- function(n){ # n: 生徒の人数 s=1:n # 残り座席番号 s1=sample(s,1) # 最初の生徒1の座る席番号s1 s=s[-s1] # s1を残り座席から除く for(i in 2:(n-1)){ # 生徒2から生徒n-1まで if(i %in% s){ # 生徒iの座席iが残っていれば s=s[-which(s==i)] # その座席をsから除く }else{ ls=length(s) # 残り座席数 length of s si=sample(ls,1) # 1:lsの中から1個選びsiとする s=s[-si] # si番目の座席を除く } } s==n # 生徒nの席番号はnかの真偽を返す } sim <- function(n,k=1e4){ mean(replicate(k,seat.n(n))) }
|

|