从一些经典的益智游戏或挑战出发,见识(熟悉)和体会计算思维(主要是其中的逻辑思维和算法思维)的若干观念和要点,是本书编写的初衷和追求。本书挑选了32个游戏或挑战,实现学习和体会计算思维观念和要点的目标。它们本身相互独立,读者可以任意顺序阅读,没有前后依赖关系。问题是指对该游戏的一般化推广,即“泛化”,在分析的基础上总结数学原理,进而形成算法和程序(主要是Python代码),实现面向问题求解、提炼和展示计算思维要点的融会贯通。本书既可以作为数学或算法方面的普及读物,也可以作为高校学生“计算思维”课程的教材,还可以作为中小学生信息技术课程或者编程课程的参考资料。
李晓明,北京大学、大湾区大学教授,中国计算机学会会士,曾主持国家863、973、自然科学基金重点课题等项目,获得2013年中国计算机学会杰出教育奖、2020年教育部教师发展基金会杰出教学奖、2008年国家教学成果二等奖。
目 录
问题1 数的划分 1
游戏 2
问题 2
算法和程序 4
进一步思考 4
问题2 移棋子 6
游戏 7
问题 7
算法 9
程序 10
进一步思考 11
问题3 奇妙的整除性 13
游戏 14
算法和程序 14
进一步思考 17
问题4 逃不掉的“3” 19
游戏 20
问题 20
算法和程序 21
进一步思考 23
问题5 窍门在哪里 25
问题 26
算法和程序 26
进一步思考 28
问题6 满铺方式有几种 29
游戏 30
问题 30
算法和程序 32
进一步思考 35
问题7 两根一组 38
游戏 39
问题和算法 39
程序 41
进一步思考 43
问题8 填数字 44
游戏 45
问题 45
算法和程序 48
进一步思考 49
问题9 猫和老鼠 51
游戏 52
问题 52
算法和程序 53
进一步思考 55
问题10 哪条路最快 57
游戏 58
问题 58
算法和程序 61
进一步思考 63
问题11 三角形、方形和圆形 64
游戏 65
问题和分析 65
算法和程序 71
进一步思考 72
问题12 直角三格骨牌的满铺 74
游戏 75
问题和分析 75
算法和程序 77
进一步思考 79
?
问题13 九宫格游戏 81
游戏 82
问题和分析 82
算法和程序 87
进一步思考 90
问题14 二维顺序表的搜索 93
游戏 94
问题和分析 94
算法和程序 97
进一步思考 98
问题15 三堆火柴 99
游戏 100
问题 100
算法 102
程序 103
进一步思考 104
问题16 殊途同归 106
游戏 107
问题和分析 107
算法和程序 109
进一步思考 110
问题17 狐狸和野兔 111
游戏 112
问题和分析 113
算法和程序 116
进一步思考 117
问题18 翻转玻璃杯 119
游戏 120
问题和分析 120
算法和程序 128
问题19 灯之圈 130
游戏 131
问题和分析 131
算法和程序 134
进一步思考 137
问题20 青蛙和蟾蜍 139
游戏 140
问题和分析 140
算法和程序 145
问题21 幻方 148
游戏 149
问题 149
算法和程序 150
问题22 一维跳棋 159
游戏 160
问题和分析 160
算法和程序 164
进一步思考 166
问题23 图着色 168
游戏 169
问题 169
算法和分析 171
程序 176
进一步思考 177
问题24 骨牌满铺 178
游戏 179
问题和分析 179
算法和程序 184
进一步思考 187
问题25 15谜题 190
游戏 191
问题和分析 191
算法和程序 195
进一步思考 198
问题26 天平称重 200
游戏 201
问题和分析 201
算法和程序 205
进一步思考 207
问题27 病毒传播 210
游戏 211
问题和分析 212
算法和程序 214
进一步思考 216
问题28 分形 217
游戏 218
问题和分析 219
算法和程序 220
进一步思考 224
问题29 微信游戏 227
游戏 228
问题和分析 228
算法和程序 233
进一步思考 235
问题30 应付多少钱 236
游戏 237
问题和分析 238
算法和程序 240
进一步思考 244
问题31 色块消除 245
游戏 246
问题和分析 247
算法和程序 250
进一步思考 253
?
问题32 公平游戏 255
游戏 256
问题和分析 256
算法和程序 262
进一步思考 264
参考文献 268