Method: Integer#combination

Defined in:
lib/include/integer.rb

#combination(r) ⇒ Object Also known as: C



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/include/integer.rb', line 81

def combination(r)
  r = self - r if self - r < r

  if r <= 0
    return 1 if 0 == r
    return 0
  end

  rslt = self
  2.upto(r) do |i|
    rslt = rslt * (self - i + 1) / i
  end

  return rslt
end