一、实验名称:素数
二、实验环境:Mathematica 10.3软件
三、实验目的:本实验将探讨素数的规律,研究素数的判别、最大的素数、构成生成素数的公式和素数的分布,并学会求解某些范围内的素数。
四、实验内容、步骤以及结果分析
实验一:用筛选求所有小于等于n的素数
1、实验内容:利用Eratosthenes筛法,通过计算机编程求1000以内的所有素数。
2、实验步骤:在Mathematica 10.3输入如下语句:
3、实验结果:
实验二:利用试除方法求所有小于n的素数
1、实验内容:通过计算机编程求1000以内的所有素数,试将试除法与筛选进行比较,哪一个更有效?
2、实验步骤:在Mathematica 10.3输入如下语句:
3、实验结果
4、结果分析:两种实验结果完全相同,用试除法求1000以内所有素数比用Eratosthenes筛法速度更快、更有效。
实验三:Mersenne数素性的判别
1、实验内容:对n=3、5、6、8,判断哪些Mersenne数是素数?如果n为合数,Mersenne数是素数还是合数?如果n为素数,Mersenne数是否一定是素数?
2、实验步骤:在Mathematica 10.3输入如下语句:
3、实验结果:
4、结果分析:通过运行出来的结果可以看出n=3、5时,Mersenne数是素数;当n=6、8时,Mersenne数
不是素数。如果n为素数,Mersenne数不一定是素数,也不一定是合数。
实验四:给出所有小于等于n的素数的个数
1、实验内容:求出所有小于等于1000、10000的素数的个数。
2、实验步骤:在Mathematica 10.3输入如下语句:
3、实验结果:
4、结果分析:小于等于100的素数个数为168,小于等于10000的素数的个数为1229。