高中数学 · 计数原理

排列组合计算器 · 有序排列,无序组合

算排列数、组合数,也能处理平均分组与隔板法。每一步都写出阶乘展开,方便对照课本例题。

A(n,m) = n!/(n−m)!C(n,m) = n!/[m!(n−m)!]平均分组:n! / [(m!)^k · k!]隔板法:C(n−1, k−1)
计数参数四种模型

排列看顺序,组合不看顺序;平均分组要求 n 能被 k 整除。

AI 讲解需人机验证
算法会算,AI 会讲为什么
计算结果等待输入
结果
—
排列 / 组合数
—
阶乘展开
—
分组数
—
适用条件
—
计算过程
  1. 填入数据后点「计算」,这里给出代入过程。
四种模型怎么选
问题特征模型公式
有顺序,选几个排一排排列A(n,m)
无顺序,选几个成一组组合C(n,m)
平均分成若干组平均分组n!/[(m!)^k·k!]
相同元素分给不同盒子隔板法C(n−1,k−1)

先问「顺序算不算不同」

排列与组合的唯一区别是顺序是否影响结果:排队、排名、密码用排列;选人、选菜、抽签用组合。判断错这一步,后面全错。

平均分组容易多算:把 6 个不同元素平均分成 3 组,先 C(6,2)C(4,2)C(2,2) 会把组的顺序也数进去,必须再除以 3!。

两个高频模型

  • 相邻问题用捆绑法:把相邻元素看成一个整体,再乘内部排列
  • 不相邻问题用插空法:先排其他元素,再把不相邻的插入空隙
  • 至少一个用间接法:总数减去一个都没有的情况
  • 相同元素分配用隔板法,不同元素分配用分组分配

常见问题

A 和 C 差在哪里?

A 考虑顺序,C 不考虑。A(n,m)=C(n,m)×m!,因为每组还能内部排列。

n 很大能算吗?

阶乘增长极快,n 超过 170 会超出双精度范围。中学题目一般 n≤15,工具足够。

平均分组为什么要除以 k!?

因为先选后选会把同一组的不同选取顺序重复计数,k 个组之间有 k! 种顺序。

隔板法要求每盒至少一个吗?

是。若允许空盒,先给每盒借一个,再用 C(n+k−1,k−1)。

相关工具