资源描述:
《探索数学实验报告材料素数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案实验报告实验名称:素数班级:统计111姓名:饶红梅学号:1102092005精彩文档实用标准文案探索实验一素数实验报告一、实验背景与实验目的德国数学家高斯说过,数学是科学的女王,而数论则是数学的女王。在数论这一充满了趣味而布满荆棘的领域中,有关素数的问题(如著名的Goldbach猜想)始终是最富有魅力最吸引人的研究问题。本实验将探索素数的规律及其相关的某些有趣问题:(1)素数表的构造;(2)素数的判别;(3)最大的素数;(4)构造生成素数的公式;(5)素数的分布。二.实验计划.1.素数的判别与个数在大于1的自然数中,只能被1
2、和它本身整除的数称为素数。规定Nn=p1p2......pn+1,当n=1,...,20时判断Nn是否是素数,如果不是,那么Nn能不能表示成几个素因子相乘的形式。改变n的取值范围,观察得出结论。根据以上的结果,猜测素数是否有无穷多个,并给出相关的证明。2.素数表的构造用Eratosthenes筛法和试除法列出1000内所有的素数,比较哪种方法所用的时间比较少。它们的原理为:Eratosthenes筛法的基本原理,将自然数列从2开始按顺序排列至某一整数N,首先,从上述数列中划除所有2的倍数(不包括2),在剩下的数中,除2外最小的是3.接着
3、,从数列中划除所有3的倍数(不包括3),然后在剩下的数中,再划去5的倍数······这个过程一直进行下去,则最后剩下的数就是不超过N的所有素数。试除法的基本原理:假设我们已经知道前n个素数p1=2,p2=3,...,pn,为找下个素数,我们从pn+2开始依次检验每一个整数N,看是否能被某一个pi(i=1,2,...,n)整除,若N能被前面的某个素数整除,则N为合数,否则N即为下一个素数pn+1。为了提高效率我们只需要用不超过N^(1/2)的素数去除就可以了.3.素数的判别公式对n=2,3,…,100中不同的数,观察m^(n-1)被n整除
4、所得的余数。将m的值固定,变化n的值为2,3,……100取m=2,观察2^(n-1)被n整除所得的余数取m=3,观察3^(n-1)被n整除所得的余数精彩文档实用标准文案取m=4,观察4^(n-1)被n整除所得的余数………如果我们固定的是n的取值,变化m的值,那么我们得出的结果又会怎样?取n=2,m=2,3,4,……,20,观察m^(2-1)被2整除所得的余数取n=3,m=2,3,……,20,观察m^(3-1)被3整除所得的余数取n=5,m=2,3,……,20,观察m^(5-1)被5整除所得的余数得出一般性结论,。Mersenne数的素性
5、判别:形如2^n-1的数称为Mersenne数,通过Mersenne数我们可以研究数论中的相关性质。观察并考虑Mersenne数与n的关系,得出一般性的结论,4.生成素数的公式Fermat数:我们把形如+1表示出来的数称为Fermat数。Fermat数是否都是素数?在程序中增大n的值,很容易知道当n变大到一个特定的值时,Fermat数不再是素数。既然Fermat数不能作为素数的生成公式,那么能不能寻求一个整系数单变量多项式,使得它能生出所有的素数。首先考虑一次函数,显然是不行的。再考虑二次多项式,如:f(n)=+n+41,f(n)=-7
6、9n+1061,f(n)=6+6n+31,观察是否无论n如何变化,f(n)都是素数。若不是,再改变多项式的次数,观察得出的结果有什么不同。若单变量整系数多项式不能生成所有的素数,那么多变量整系数多项式呢?判断以上的f(n,m)是否生成的均是素数,它们之间有什么规律?5.素数的分布在上面的实验中我们已经知道了素数是无穷多个的,而且素数的生成公式并不是很明了,但是它的分布会不会具有什么样的规律呢?实验中,用表示不超过n的素数的个数,表示区间[m,n]内素数的个数,再计算﹑﹑以及﹑﹑﹑。从计算结果看,随着范围的扩大,素数是越来越稀还是越来越密
7、?进一步,选取一些更长的区间,做同样的实验。将这些点画在图中,从图中能更清晰的看出素数的分布情况。换一个角度考虑,从两个相邻素数间距的大小同样也可以看出素数的分布,这时我们还可以发现一些更有趣的规律。先求出1000以内的所有相邻素数的间距,并将点以(,精彩文档实用标准文案)的形式画在直角坐标系中,观察图像的特点;增大n的值,再在另一个图中画出,从这些点的分布可以看出素数的间隔值的某些特征,以及它们的重复次数的多少,我们还发现:在增大N的值的同时,图中的点也会随之变高,也就是说最大间隔值在变化。6.用函数对素数的个数进行拟合用函数对素数的
8、个数进行拟合。先进行线性拟合,选取2到1000中所有的素数进行拟合,再改变拟合的多项式的次数,比较拟合效果。将点(n,)标在平面坐标系中,并且用折线把这些点连接起来,观察的变化趋势,然后在程序中增大N的值,