R で整数の分割

R で整数の分割を列挙するには、partitions パッケージを用いる。

library(partitions)
parts(5) # 5 の分割 (行列が返る。タテ方向に分割が入っている)
P(5) # 上の個数 == ncol(parts(5))
restrictedparts(5, 3, include.zero=F) # 5を3つに分割
R(3, 5, include.zero=F) # 上の個数。なぜか引数の順序が逆。それにしても大胆な命名だな……

R(6, 100, include.zero=T) # 189509 意外と少ない!
R(8, 100, include.zero=T) # 1527675 意外と少ない!