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
json
{
"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
json
{
"type": "object",
"properties": {
"success": { "type": "boolean" },
"result": { "type": "integer" },
"code": { "type": "string" },
"formula": { "type": "string" }
},
"required": ["success"]
}