前面我们曾经说过,古希腊人对完美数很感兴趣,这种兴趣在当时并没有实用价值,他们只是单纯地想要研究这些数字的性质而已。然而通过本章的讲解,大家却可以看到,数学家在探寻这种“无用的”完美数时发现了费马小定理,这是个对各种数学领域都极为有用的定理。第13章将会解释其原因。
这一章还初步讲解了数学中的抽象过程。欧拉在观察费马小定理时发现,该定理其实是针对素数的特例,它可以推广到更为一般的整数上面。在费马小定理中,a的指数p-1实际上就是与p互质且小于p的正整数个数,欧拉将此定理的适用范围从素数p推广到与a互质的正整数n。这种抽象的过程对于泛型编程来说,同样是相当重要的。数学家能够对定理及其证明过程进行推广,而程序员则能够代码进行泛化。既然欧拉可以把费马小定理的适用范围,从某一类数学对象扩充到另一类数学对象,那我们也可以把函数的适用范围,从某一种计算机对象,扩展到另一种同样合适的计算机对象上面,例如从vector扩展到链表(linked list)。