Sha256: ab097f039bced8957136240fa387e7ac4db622de0f9d72125c69cfbb488ce04e

Contents?: true

Size: 475 Bytes

Versions: 3

Compression:

Stored size: 475 Bytes

Contents

require 'combinatorics/extensions/math'

module Combinatorics
  module Derange
    #
    # Compute the number of derangements for a data structure of given size
    #
    # @see Math.subfactorial
    #
    def self.cardinality(n)
      Math.subfactorial(n)
    end

    #
    # Wrapper for derangement cardinality method defined above
    #
    # @note The letter `D' is academic representation for derangements
    #
    def self.D(n)
      cardinality(n)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
combinatorics-0.4.4 lib/combinatorics/derange/cardinality.rb
combinatorics-0.4.3 lib/combinatorics/derange/cardinality.rb
combinatorics-0.4.1 lib/combinatorics/derange/cardinality.rb