定义 完成一件事需分 $n$ 个步骤,每步方法数分别为 $m_1, \dots, m_n$,则总方法数为 $N = m_1 \times \dots \times m_n$。
从哪来 本节为计数原理起点,无前置知识点,直接基于“分类加法计数原理”的对立概念(分步)引入,或作为独立公理引入。
为什么 核心逻辑是“乘法原理”的本质:独立选择的累积效应。
若第一步有 $m_1$ 种选法,第二步有 $m_2$ 种选法。对于第一步的每一种具体选择,第二步都有 $m_2$ 种搭配。因此,第一步的 $m_1$ 种选择共对应 $m_1 \times m_2$ 种组合。
推广到 $n$ 步,每一步的选择都独立地“扩展”了前一步的结果集,故总数为各步方法数的乘积。这与“加法原理”(互斥分类)形成互补:加法是“或”(OR),乘法是“且”(AND)。
讲法
生活情境法
适合:形象思维强、对抽象符号抵触的学生
场景:穿出门。
1. 选上衣:3件(红、蓝、白)。
2. 选裤子:2条(黑、灰)。
3. 选鞋子:2双(皮鞋、运动鞋)。
问:有多少种搭配?
引导:画树状图。红上衣可以配黑裤+皮鞋、黑裤+运动鞋、灰裤+皮鞋、灰裤+运动鞋(4种)。蓝上衣同理(4种)。白上衣同理(4种)。
总数:$4+4+4=12$。
再换一种算法:$3 \times 2 \times 2 = 12$。
结论:每一步的选择数相乘,就是总搭配数。
讲法
逻辑结构法
适合:逻辑思维强、喜欢推导的学生
强调“分步”的定义:完成一件事,必须
依次经过几个步骤,且
每一步都不能省略。
对比分类加法:
- 加法:做一件事,有几种
方案,方案之间互斥。
- 乘法:做一件事,有几种
步骤,步骤之间依赖。
关键判据:如果去掉某一步,事情还能完成吗?
- 能完成 $\rightarrow$ 分类(加法)。
- 不能完成 $\rightarrow$ 分步(乘法)。
例如:从A到C,可经B(A$\to$B$\to$C),也可直接飞(A$\to$C)。这是分类(加法)。
例如:从A到C,必须先A$\to$B,再B$\to$C。这是分步(乘法)。
讲法
程序/代码类比法
适合:对计算机/编程感兴趣的学生
类比嵌套循环(Nested Loops):
```python
count = 0
for step1 in range(m1): # 第一步有 m1 种
for step2 in range(m2): # 第二步有 m2 种
for step3 in range(m3): # 第三步有 m3 种
count += 1
print(count) # 输出 m1 * m2 * m3
```
解释:最内层循环执行 $m_3$ 次,中间层每执行一次,内层就完整跑 $m_3$ 次,所以中间层贡献 $m_2 \times m_3$ 次,最外层贡献 $m_1 \times m_2 \times m_3$ 次。
这就是乘法原理的计算本质。