mathematica数学实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.利用试除法求素数

筛法是用乘法寻找素数,实际上,也可以用试除法判断一个数是否是素数。而且,用试除法的效率可能会更高。假设我们已经找到了前n 个素数22,3,...,i n p p p ==,为了寻找下一个素数,我们从2n p +开始依次检验每一个整数N ,看N 是否能被某个,1,2,...,i p i n =整除。如果N 能被前面的某个素数整除,则N 为合数。否则N 即为下一个素数1n p +。实际上,为了提高算法的效率,我们不需要用前面的每一个素数去试除N ,

而只需用不超过N的素数去除就可以了。

下面我们运用试除法来求100,500,1000所有的素数,程序运行如下:

从以上的运行过程可以看出,试除法求素数比Eratosthenes筛法更快。

3.数素性的判别

数素性的判别方法有三种,即:1)n-1检验法2)基于广义黎曼猜想的判别法3)概率判别法,下面我们利用概率判别法对2,3,...,100

n 这些数进行数素性判别,程序运行如下:

由此,我们可以看到对一个数的数素性判别有好多方法。素数在我们学习的数中扮演着很重要的角色,所以判断一个数是否是素数是非常有用的。

实验结果和结果分析:

附录:

相关文档
最新文档