Назад към всички

combinatorics-calculator

// Calculate combinatorial values with modular arithmetic

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namecombinatorics-calculator
descriptionCalculate combinatorial values with modular arithmetic
allowed-toolsRead,Write,Grep,Glob,Edit

Combinatorics Calculator Skill

Purpose

Calculate combinatorial values with modular arithmetic support for competitive programming applications.

Capabilities

  • Factorial and inverse factorial precomputation
  • nCr, nPr with modular arithmetic
  • Catalan, Stirling, Bell numbers
  • Lucas theorem implementation
  • Inclusion-exclusion principle application
  • Generating functions

Target Processes

  • combinatorics-counting
  • number-theory-algorithms
  • dp-pattern-matching

Combinatorial Functions

Basic Counting

  • Factorial: n!
  • Permutations: P(n,r) = n!/(n-r)!
  • Combinations: C(n,r) = n!/(r!(n-r)!)

Special Numbers

  • Catalan numbers
  • Stirling numbers (first and second kind)
  • Bell numbers
  • Derangements

Advanced Techniques

  • Lucas theorem (for large n, small p)
  • Inclusion-exclusion
  • Burnside's lemma
  • Generating functions

Input Schema

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "enum": ["nCr", "nPr", "factorial", "catalan", "stirling", "lucas", "precompute"]
    },
    "n": { "type": "integer" },
    "r": { "type": "integer" },
    "mod": { "type": "integer" },
    "precomputeLimit": { "type": "integer" }
  },
  "required": ["operation"]
}

Output Schema

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "result": { "type": "integer" },
    "code": { "type": "string" },
    "formula": { "type": "string" }
  },
  "required": ["success"]
}