答案是 20,但为什么是 20
6×5×4 得 120,是"有顺序"的排法;每一种 3 数组合被重复数了 6 次,于是 120÷6=20。一步除法,把秩序和混乱分开了。
看完整推导 →比起一上来就背 C(n,k),我们更愿意先让你"看见"这 20 组长什么样。以下是本页最值得停留的三个入口。
同一道题,可以从公式、枚举、编程、生活、错觉、教学六个方向进入。不必全看,选那个让你"啊,原来如此"的。
阶乘的写法看着唬人,本质只是"把重复计数的部分除干净"。理解分母的 3! 从哪来,公式就不再是咒语。
适合喜欢严谨推导的人123、124、125……按字典序把 20 组写全。列到一半你会发现规律自己浮出来,这比背公式更让人记住。
适合动手型学习者嵌套循环加一句"后一个数比前一个大",就能自动生成全部组合。代码是最好用的验算纸。
适合想立刻验证的人六道菜里选三道,先上哪道无所谓——顺序不影响这顿饭的内容,这正是"组合"与"排列"的分界线。
适合把数学用起来的人因为大脑默认"选出来还要排一排"。题目里"不重复组合"四个字,就是在提醒你:顺序请退场。
适合复盘错误的人先给 6 个球,让他随意抓 3 个,再问"交换顺序算不算新的抓法"。一个反问,胜过十行公式。
适合要讲给别人听的人把这一页当成工具,而不是课文。按顺序做三件事,再记住两个提醒,基本就不会再被"6 选 3"问住。
拿到题目第一件事,不是套公式,而是问自己:把选出来的三个数换个位置,算不算另一种结果?不算,就是组合;算,才是排列。这一步定了,后面才有意义。
先从 6 个里依次取 3 个,得 6×5×4=120 种有序取法;每种组合被重复排了 3!=6 次,所以 120÷6=20。这个"先放大再缩回"的思路,比死记公式耐用得多。
C(6,3)=C(6,3) 天然成立,同时也等于 C(6,3) 的另一半思路——"选中的 3 个"与"剩下的 3 个"一一对应。当你算出 20,再想想"剩下 3 个也有 20 种",答案就更有说服力了。
做这一页的起因很朴素:有天朋友问我,"6 选 3 个数不重复组合有多少组",我说 20,他反问"为什么不是 120"。那一瞬间我意识到,问题从来不在算术,而在语言——"组合"这两个字太安静,安静到很多人自动把它听成了"排列"。
当顺序不重要时,我们其实是在给"一群东西"计数,而不是给"一串动作"计数。
所以我坚持把推导写成分两步:先算 120 种有顺序的取法,再除以 3!=6。这个"先放大、再缩回"的过程,比直接抛出 C(n,k) 更接近人的思考方式。你可以看到重复是怎么产生的,也就明白为什么要除掉它。
至于那 20 组,我建议你真的动手写一遍。从 123 写到 456,中途会有一种奇怪的踏实感:原来答案不是从公式里掉出来的,它本来就在那儿,只是被有序地摊开了。
如果这一页只能留下一句话,我希望是这句:6 选 3,不重复,组合,一共 20 组。记住结论不难,难的是记住为什么。而一旦记住为什么,下次换个数字,你也能自己走一遍。
如果你有更巧妙的枚举方式,或者某个场景里"6 选 3"让你豁然开朗,欢迎写信给我们。编辑会认真读完每一封,并挑出有意思的思路放进下一期手记。