以前ダメ出ししたけど,もっとまともなプログラムを書いたので
RPubs も参照
program
dice <- function(m, n) {
me0 <- 1
for (i in 1:n) {
me <- numeric(m * i)
l <- length(me0) - 1
me[i:(i + l)] <- me0
for (j in 1:(m - 1)) {
me[(i + j):(i + j + l)] <- me[(i + j):(i + j + l)] + me0
}
me0 <- me[me != 0]
}
return(list(freq = me0, min = n, max = m * n))
}
examples
a <- dice(4, 10)
barplot(a$freq, names.arg = a$min:a$max, main = "sum of 10 unbiased 4-sided dice")
※コメント投稿者のブログIDはブログ作成者のみに通知されます