# G4-20 课后练习 —— GESP考前复习
> **GESP等级：四级 | 考级考点：GESP Python 四级**

**姓名：__________  日期：__________**

---

## 一、复习题（每题5分，共30分）

### 1. 填空题
枚举法的核心是__________地检查每一个可能的情况。

### 2. 判断题
小猫分鱼问题只能用逆推法解决，不能用顺推法。（ ）

### 3. 选择题
选择排序在第i轮中，需要从______到末尾找出最小的元素。
- A. i
- B. i+1
- C. 0
- D. i-1

### 4. 填空题
斐波那契数列的前两个数是1和1，第三个数是____，第四个数是____。

### 5. 判断题
爬楼梯问题中，一次走1阶或2阶，上5阶楼梯共有8种走法。（ ）

### 6. 选择题
以下哪个不是完全平方数？
- A. 25
- B. 36
- C. 50
- D. 64

---

## 二、编程题（每题20分，共40分）

### 第1题：枚举法 —— 找出所有的"完美数字"
**难度**：两颗星

**题目**：
在1~500中，如果一个数能同时被2、3、5整除，我们就叫它"完美数字"。
请编写程序，用枚举法找出所有"完美数字"，并用turtle在屏幕上显示出来。

**要求**：
- 使用 for 循环枚举
- 显示每个找到的数字
- 最后显示总数

**输出示例**：
```
完美数字有：30, 60, 90, 120, 150, 180, 210, 240, 270, 300,
             330, 360, 390, 420, 450, 480
一共找到16个完美数字！
```

### 第2题：模拟法 —— 存钱罐的秘密
**难度**：三颗星

**题目**：
小明有一个存钱罐，他每天往里面存钱。
第1天存1元，第2天存2元，第3天存3元，以此类推。
但是！他每存5天就会花掉10元买零食。

请用模拟法计算：第30天结束时，存钱罐里有多少钱？

**要求**：
- 使用 for 循环模拟每一天
- 每天先存钱（存入天数对应的金额），每5天花10元
- 输出每天结束时的余额
- 用turtle画出余额的变化曲线

**提示**：
```python
money = 0
for day in range(1, 31):
    money += day  # 存钱
    if day % 5 == 0:  # 每5天
        money -= 10  # 花10元
    print(f"第{day}天结束：{money}元")
```

---

## 三、拓展挑战题（30分）

### 综合题：算法大擂台
**难度**：四颗星

**题目**：
请用本节学过的四种算法（枚举、模拟、排序、递推），
分别解决以下四个小问题，并放在同一个Python文件中。

**问题A（枚举法）**：
找出100~999之间所有满足以下条件的数：
百位数字 + 十位数字 == 个位数字

**问题B（模拟法）**：
一个池塘里有一片荷叶，每天面积扩大一倍。
第10天时荷叶覆盖了半个池塘。
请问第几天荷叶能覆盖整个池塘？

**问题C（排序法）**：
用turtle画出6个不同颜色的圆形，
用冒泡排序按直径从小到大排序并重新绘制。

**问题D（递推法）**：
有一种细菌，每过1分钟就分裂一次（1个变2个）。
一开始有1个细菌，请问10分钟后有多少个？

---

## 四、思考与总结（附加分10分）

### 1. 算法选择（5分）
请为以下问题选择合适的算法，并说明理由：

- 问题1：有100个门，一开始都是关着的，第1轮每扇门都按一次开关，
  第2轮每2扇门按一次，第3轮每3扇门按一次……第100轮每100扇门按一次。
  最后哪些门是开着的？

- 问题2：汉诺塔问题——有三根柱子和n个盘子，要把所有盘子从A柱移到C柱，
  每次只能移动一个盘子，大盘子不能放在小盘子上面。

### 2. 学习心得（5分）
请写一段话（不少于50字），说说本节课你学到了什么，哪个算法你觉得最有趣，为什么。

---


| 项目 | 内容 |
|------|------|
| 完成时间 | ____分钟 |
| 独立完成 | 是 / 否 |
| 老师评价 | ________ |

---

*温馨提示：课后练习建议在1小时内完成。如果遇到困难，可以先复习课堂笔记。*

*参考答案见下一面。*

---

---

**自我评价：** □ 全都会了  □ 大部分会了  □ 还要再练练