コンビネーション(組み合わせ)
1.4
コンビネーション(組み合わせ)
http://ja.wikipedia.org/wiki/%E7%B5%84%E5%90%88%E3%81%9B_%28%E6%95%B0%E5%AD%A6%29
#階乗を使用 def fact(n,r=n) if n==1 r else fact(n-1,r*(n-1)) end end def combination(n,m) if m == 0 1 elsif n == m 1 else fact(n)/(fact(m)*fact(n-m)) end end puts combination(5,3) #=>10
combinationもあったぞなもし
#再帰使わない版 def combination(n,m) (1..n).to_a.combination(m).to_a.size end puts combination(5,3) #=>10