本书从一些经典算法出发,为读者展示了100个Python趣味编程实例。本书共12章,涵盖趣味算法入门、趣味数学问题、各种趣味整数、趣味分数、趣味素数、趣味逻辑推理、趣味游戏、趣味数组、趣味函数递归、定理与猜想、趣味图形及其他趣味问题。本书取材注重趣味性与实用性,内容涵盖Python编程的基础知识和常用算法,讲解时给出了实例的详细分析与代码实现,并对重点代码做了详细注释,还针对涉及的知识点做了拓展讲解。本书实例丰富,讲解通俗易懂,代码可读性及实操性强,适合Python编程的初学者和爱好者阅读,也适合算法设计爱好者阅读。另外,本书还可作为Python教学参考书。
前言
第1章 趣味算法入门1
1.1 抓交通肇事犯1
1.2 兔子产子4
1.3 牛顿迭代法求方程根6
1.4 百钱百鸡9
1.5 借书方案知多少14
1.6 打鱼还是晒网17
1.7 最佳存款方案23
1.8 冒泡排序24
1.9 折半查找29
1.10 数制转换33
第2章 趣味数学问题39
2.1 三色球39
2.2 出售金鱼41
2.3 求车速43
2.4 个人所得税46
2.5 存钱51
2.6 分糖果54
2.7 爱因斯坦的数学题57
2.8 猜牌术59
2.9 舍罕王的失算62
2.10 马克思手稿中的数学题64
2.11 换分币66
第3章 各种趣味整数69
3.1 回文数69
3.2 水仙花数72
3.3 阿姆斯特朗数74
3.4 完数76
3.5 亲密数79
3.6 自守数82
3.7 高次方数的尾数85
3.8 黑洞数87
3.9 勾股数90
3.10 不重复的3位数94
第4章 趣味分数96
4.1 将真分数分解为埃及分数96
4.2 列出真分数序列101
4.3 多项式之和105
4.4 最大公约数107
4.5 最小公倍数111
4.6 歌星大奖赛115
4.7 分数比较121
4.8 计算分数的精确值125
第5章 趣味素数128
5.1 素数128
5.2 哥德巴赫猜想134
5.3 要发就发139
5.4 可逆素数142
5.5 回文素数146
5.6 孪生素数148
5.7 梅森素数151
第6章 趣味逻辑推理153
6.1 谁家孩子跑得最慢153
6.2 新郎和新娘157
6.3 谁在说谎159
6.4 谁是窃贼162
6.5 旅客国籍165
6.6 委派任务171
6.7 谜语博士的难题173
6.7.1 谜语博士的难题(一)173
6.7.2 谜语博士的难题(二)176
6.8 黑与白180
第7章 趣味游戏183
7.1 黑白子交换183
7.2 自动发牌189
7.3 常胜将军192
7.4 人机猜数193
7.5 搬山游戏197
7.6 抢30游戏200
7.7 24点游戏204
7.8 掷骰子210
第8章 趣味数组214
8.1 平分7筐鱼214
8.2 农夫过河216
8.3 矩阵转置222
8.4 狼追兔子227
8.5 选美比赛228
8.6 邮票组合231
8.7 魔方阵232
8.8 马踏棋盘237
8.9 删除“*”符号243
8.10 在指定位置插入字符247
第9章 趣味函数递归249
9.1 猴子吃桃249
9.2 杨辉三角形251
9.3 卡布列克常数255
9.4 递归解决年龄问题259
9.5 递归解决分鱼问题263
9.6 汉诺塔问题267
9.7 逆序输出数字271
第10章 定理与猜想277
10.1 尼科彻斯定理277
10.2 奇数平方的有趣性质281
10.3 回文数的形成282
10.4 四方定理285
10.5 角谷猜想289
10.6 π的近似值291
第11章 趣味图形294
11.1 画直线294
11.2 画圆和圆弧302
11.3 画彩色图形304
11.4 绘制余弦曲线306
11.5 绘制空心圆313
11.6 绘制空心菱形315
11.7 填充彩色图形318
11.8 绘制饼状图320
第12章 其他趣味问题323
12.1 约瑟夫环323
12.2 数据加密326
12.3 三色旗329
12.4 双色球334
12.5 填表格336
12.6 求出符合要求的素数340
12.7 统计学生成绩346