第1章 集合 23
1.1 集合定义 23
1.2 集合运算 23
1.3 集合性质 24
1.4 悖论 25
1.5 广义集合 26
练习题 26
编程问题 29
第2章 关系与函数 43
2.1 指数函数与对数函数 44
2.2 向下取整函数和向上取整函数 46
2.3 关系 47
练习题 50
编程问题 53
第3章 布尔代数 71
3.1 命题逻辑 71
3.2 集合 72
3.3 布尔代数 72
3.4 一些布尔代数定理 73
3.5 开关电路 74
3.6 数字计算机存储数 78
3.7 加法电路 79
练习题 82
编程问题 85
第4章 自然数与归纳法 113
4.1 良序与数学归纳法 113
4.2 良序蕴含数学归纳法 120
4.3 皮亚诺公理 120
练习题 121
编程问题 125
第5章 数论 149
5.1 除法定理 149
5.2 最大公约数 150
5.3 素数 152
5.4 模算术 155
5.5 一个密码例子 157
5.6 模乘法和模除法 158
5.7 摩尔密码 159
5.8 费马最小数定理 160
5.9 快速求幂算法 161
5.10 欧拉定理 163
5.11 RSA加密算法 164
练习题 166
编程问题 167
第6章 递归 203
6.1 折半查找 206
6.2 欧几里德算法 207
6.3 汉诺塔问题 209
练习题 211
编程问题 212
第7章 递归式求解 231
练习题 234
第8章 计数 245
8.1 加法原理和乘法原理 245
8.2 排列 246
8.3 组合 247
8.4 一些计算上的考虑 249
8.5 二项式定理 250
8.6 计数在概率中的应用 251
练习题 253
编程问题 255
第9章 矩阵 275
9.1 矩阵运算 275
9.2 方程组 279
9.3 行列式 281
9.4 高斯消去法 283
9.5 求解乘法逆元 285
9.6 回到加密问题 287
练习题 290
编程问题 293
第10章 图论 325
10.1 欧拉回路和欧拉路径 325
10.2 图的符号和术语 326
10.3 回到欧拉回路问题 328
10.4 最小生成树 329
10.5 一些编程上的考虑 331
练习题 332
编程问题 334
部分奇数号练习题答案 351