Haskellで書いた組み合わせの数をRubyで書いてみる。
def c(n,k)
d(n,k).div(d(k,k))
end
def d(n,k)
(n-k+1..n).inject(1) {|result,item| result * item}
end
p c(1000,100)
#=> 63850511926305130236698511142022274281262900693853331776286816221524376994750901948920974351797699894319420811933446197797592213357065053890