姓名 *** 学院 数信学院 班级 素数 ************ 学号 ************ 评分 实验题目 实验目的: 1、掌握素数的判别方法,并会求解某些范围内的素数; 2、通过编程演示某些范围内的素数、深刻了解其求解过程; 3、通过上机来增强自己的动 手能力及实践创新能力。 实验环境: 学校机房,Mathematica4.0软件 实验基本理论和方法: 1、Mathematica中常用的函数及函数调用的方法; 2、对素数的概念及特征的掌握,利用素数的特征求素数。 实验内容和步骤: 如果一个大于1的自然数只能被1及它本身整除,则该数称为素数。否则被称为合数。从数学史的黎明时期开始,数学家就一直在探索自然数的奥秘。远在古希腊时代,欧几里得就证明了每一个合数都可以分解为若干个素数的乘积,并在不计较素数的排列顺序时这种分解是唯一的,这就是所谓的算术基本定理,算术基本定理表明,素数是构造自然数的基石,正如物质的基本粒子一样。正是由于素数如此重要的地位才使得一代又一代数学家努力地探索素数的规律。首先,一个最基本的问题是 素数到底有多少个? 会不会在某一充分大的自然数以后就没有素数了呢?答案是否定的。欧几里得时代已证明了这一结论。他使用的简洁而优美的论证方法至今仍不失为数学推理的光辉典范。假设素数只有有限个,按从小到大的顺序排列为p1,p2,...,pn.。令N?p1p2...pn?1,则N不被pi,i?1,2,...,n中任何一个整除。因而,N要么是素数,要么有比pn大的素因子,这与pn为最大素数相矛盾。 关于素数的下一个基本问题是:如何求出小于某一给定整数的所有素数? 1.Eratosthenes筛法求素数 古希腊的另一位学者Eratosthenes给出了解决这一问题的方法,这一方法被后人称为Eratosthenes筛法。Eratosthenes筛法的基本思想是,将自然数列从2开始按顺序排列至某一整数N。首先,从上述数列中划去所有2的倍数(不包括2)。在剩下的数中,除2外最小的是3。接着,从数列中划去3的倍数(不包括3)。然后在剩下的数中,再划去5的倍数……。这个过程一直进行下去,则最后剩下的数就是不超过N的所有素数。下面我们就利用筛法通过编程实现求某个数的所有素数。 利用Eratosthenes筛法,通过计算机编程求100,500,1000,1500的所有素数,运行过程如下:
好文档 - 专业文书写作范文服务资料分享网站