Sha256: 1e7cc091e0b51d89395bececfd5afbfcb992aefff2562fe0589cdd610e4fb440

Contents?: true

Size: 341 Bytes

Versions: 5

Compression:

Stored size: 341 Bytes

Contents

# coding: utf-8
class Integer
  def takeuchi
    n = self
    return n if n <= 1
    (0..n-2).map do |k|
      (
        (2 * (n + k - 1).choose(k)) - (n + k).choose(k)
      ) * (n - k - 1).takeuchi
    end.reduce(:+) + (1..n).map(&:catalan).reduce(:+)
  end

  memoize :takeuchi

  def takeuchi?
    in_sequence?(seq: :takeuchi)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
numb-0.186.0 lib/numb/takeuchi.rb
numb-0.185.0 lib/numb/takeuchi.rb
numb-0.184.0 lib/numb/takeuchi.rb
numb-0.181.0 lib/numb/takeuchi.rb
numb-0.170.0 lib/numb/takeuchi.rb