组合数学计算器Skill combinatorics-calculator

组合数学计算器是一款专为算法竞赛和编程设计的工具,提供高效的组合数值计算功能。核心功能包括:支持模运算的排列组合计算(nCr、nPr)、阶乘与逆阶乘预计算、特殊数列(卡特兰数、斯特林数、贝尔数)求解,以及卢卡斯定理、容斥原理等高级数论算法实现。适用于解决动态规划、计数问题、数论算法等场景,是竞技编程和算法学习的必备工具。 关键词:组合数学计算器,模运算,排列组合,卡特兰数,斯特林数,卢卡斯定理,容斥原理,算法竞赛,编程工具,数论算法,动态规划

后端开发 0 次安装 0 次浏览 更新于 2/23/2026

name: 组合数学计算器 description: 使用模运算计算组合数值 allowed-tools:

  • Read
  • Write
  • Grep
  • Glob
  • Edit

组合数学计算器技能

目的

为竞技编程应用提供支持模运算的组合数值计算。

能力

  • 阶乘和逆阶乘预计算
  • 支持模运算的nCr、nPr计算
  • 卡特兰数、斯特林数、贝尔数
  • 卢卡斯定理实现
  • 容斥原理应用
  • 生成函数

目标流程

  • 组合计数
  • 数论算法
  • 动态规划模式匹配

组合函数

基本计数

  • 阶乘:n!
  • 排列:P(n,r) = n!/(n-r)!
  • 组合:C(n,r) = n!/(r!(n-r)!)

特殊数列

  • 卡特兰数
  • 斯特林数(第一类和第二类)
  • 贝尔数
  • 错位排列数

高级技术

  • 卢卡斯定理(适用于大n、小p)
  • 容斥原理
  • Burnside引理
  • 生成函数

输入模式

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

输出模式

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