原标题:费马小定理,我的理解
触碰标题下面一行的“邵勇老师”查看所有文章;触碰“数学教学研究”, 关注本微信公众号(sx100sy)。 本公众号内容均由邵勇本人独创,欢迎转发,但未经许可不能转载。特别声明,本人未曾授权任何网站(包括微博)和公众号转载邵勇“数学教学研究”公众号的内容。每周推送两到三篇内容上有份量的数学文章,但在行文上力争做到深入浅出。几分钟便可读完,轻松学数学。
费马小定理
若 p 是素数,则对任意正整数 n ,

都能被 p 整除。
[ p是英语 prime number(素数)的首字母 ;n是 number 的首字母 ] 。
(1) 比如说,对素数p=5和正整数n=2,有

30能被素数5整除。
(2) 还是对素数p=5,这里取n=3,则有

240能被素数5整除。
(3) 对素数p=3和正整数n=4,有

60能被素数3整除。
您可以继续,随便取素数 p 和正整数 n ,对费马小定理进行验证。建议以两种方式取值:一种是取定一个素数p,让n取更多的自然数;另一种是n先取定,让p取更多的素数。
下面给出费马小定理的严格证明。真的一点儿都不难,我们都可以看懂。
设p是素数。由二项式定理,有

若x取正整数n,则有

其中的二项式系数就是从p中取m的组合数:

上式中m小于等于p。
下面来看一下刚才得到的展开式:

它的右端一共有p+1项。除两头的两项外,中间p-1项的二项式系数中都有因子p。我们就来考虑这p-1项。它们的分母中都有m!,分别是1!,2!,3!,…,(p-1)! 。显然,不管是哪一项中的阶乘,其中的每个因子都小于素数p。所以,每一项中分子上的p 都不能被这一项分母中的因子约分掉。所以,这p-1项的系数中都有因子p,也就都能够被 p 整除。所以这p-1项的和也就可以被p整除:

(注意,我们特别把这个式子单独写出来,是因为后面我们要用到它。)
再来看刚才那个展开式:
把上式左右两端都减去(n+1),得

我用大括号把上式中的各项进行分组,得到

若假设上式右边第一个中括号中的式子n^p-n能够被p整除,则由于上式右边第二个中括号中的式子我们前面已说过能被p整除,所以上式左边的式子 (n+1)^p-(n+1)也就能够被p整除。
这说明,对任意取定的素数p,若对正整数n,有n^p-n能够被p整除,则对(n+1)来说,有(n+1)^p-(n+1)也能够被p整除。
这让我想到了数学归纳法。于是我们只需证明对n=1,有n^p-n能被p整除。这是显然的,因为这时n^p-n=0,而0当然能被p整除。于是,根据数学归纳法,费马小定理得以证明。
我们下面特别说一说n=2的情况。这时的费马小定理成为:若p是素数,则2^p-2能被p整除。据某书上说,费马小定理n=2时的情况,早在公元前500年左右就被中国人所知晓。这本书非中国人所写,我看到的是中译本。不知作者所说是否有依据。据我所知,我们提到中国数学家的成就时,好象没有人提及这个与素数相关的发现。不知您是否了解一些。有关数学史,本文和本公众号一般很少涉及,因为我不是研究数学史的专家。不是某方面的专家,在这方面一张口很容易出错。但中国对世界数学的贡献确实是很大的。
下面说一说费马小定理的另一种形式:若p是素数,n为不能被p整除的正整数,则

能够被p整除。 这个不难理解,因为

上式右端中两项相乘中的n不能被p整除,则另一项

必然能够被p整除。
费马小定理是说如果一个数是素数,则n^p-n能够被p整除。它的逆否命题同样成立:如果一个数不能整除n^p-n,则这个数不是素数(是合数)。我们知道一共有四种命题:原命题,逆命题,否命题和逆否命题。原命题成立,逆否命题一定成立。但逆命题和否命题不一定成立。很有可能你随便选择一个正整数,它能够被n^p-n整除,但它不是素数,而是合数。这就说明逆命题不成立。同样地,一个数不是素数,但它也可以被n^p-n整除。这说明否命题也是不成立的。
上面是用命题来说明费马小定理。我们还可以从集合的观点说明费马小定理:正整数集合可以划分成三个互不相交的集合的并集,第一个集合是素数集合,它的元素都可以整除n^p-n。第二个集合由无穷多的合数构成,它的每一个元素都不能整除n^p-n。第三个集合由无穷多的合数构成,但这些合数都能够整除n^p-n。
费马小定理可以用来发现一个数不是素数(而是合数),如果这个数不能整除n^p-n。这就是所谓的费马素性检验。用费马小定理不能确定一个通过素性检验的数是否是素数,它的“功能”没有上一期所讲的帕斯卡三角形方法那么强。但帕斯卡三角形方法运算量巨大。费马素性检验的运算量就很少,但还需要想办法改进(已有人做到,这里不细说,太艰深了)。返回搜狐,查看更多
责任编辑:
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222370.html原文链接:https://javaforall.net
