数学实验-素数(Mathematica实现)

发布于:2023-09-14 ⋅ 阅读:(287) ⋅ 点赞:(0)

一、实验名称:素数

二、实验环境: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数M_{n}=2^{n}-1是素数?如果n为合数,Mersenne数是素数还是合数?如果n为素数,Mersenne数是否一定是素数?

 2、实验步骤:在Mathematica 10.3输入如下语句:

3、实验结果:

 

4、结果分析:通过运行出来的结果可以看出n=3、5时,Mersenne数M_{n}=2^{n}-1是素数;当n=6、8时,Mersenne数 M_{n}=2^{n}-1不是素数。如果n为素数,Mersenne数不一定是素数,也不一定是合数。

实验四:给出所有小于等于n的素数的个数

1、实验内容:求出所有小于等于1000、10000的素数的个数。

2、实验步骤:在Mathematica 10.3输入如下语句:

3、实验结果:

 

4、结果分析:小于等于100的素数个数为168,小于等于10000的素数的个数为1229。

本文含有隐藏内容,请 开通VIP 后查看