裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

いろんなサイコロを何個も振る

2012年09月27日 | ブログラミング

以前ダメ出ししたけど,もっとまともなプログラムを書いたので

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")

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ダメ出し:確かめようと思え... | トップ | ダメ出し:プログラムが正し... »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事