Babysitter combinatorics-calculator

Calculate combinatorial values with modular arithmetic

install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/algorithms-optimization/skills/combinatorics-calculator" ~/.claude/skills/a5c-ai-babysitter-combinatorics-calculator && rm -rf "$T"
manifest: library/specializations/algorithms-optimization/skills/combinatorics-calculator/SKILL.md
source content

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"]
}