大学数学实验报告----素数

合集下载

素数

素数

素數(Prime Number)素數(Prime Number),亦称质数,指在一個大於1的自然数中,除了1和此整数自身外,沒法被其他自然数整除的数。

換句話說,只有兩個正因数(1和自己)的自然数即為素數。

比1大但不是素数的数称为合数。

1和0既非素数也非合数。

素数在数论中有着很重要的地位。

最小的素数是2,也是素数中唯一的偶數(雙數);其他素数都是奇數(單數)。

素數有無限多個,所以不存在最大的素數。

围绕著素数存在很多数学问题、数学猜想和数学定理。

著名的有孪生素数猜想和哥德巴赫猜想。

素数序列的开头是这样:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113 (OEIS:A000040)算术基本定理證明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的。

因此素数也被称为自然数的“建筑的基石”。

關於分解的詳細方法,可見於整數分解條目。

这个定理的重要一点是,将1排斥在素数集合以外。

如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条件。

0由於可以被任何數整除(因餘數一定等於0),所以它不符合素數的定義。

素数的數目素數有無窮多個。

現在已知最早的證明方法是歐幾里得在他的《幾何原本》中提出的。

該證明方法如下:假設素數有限。

把所有這些有限的素數相乘以後加1,可以得到一個數。

這個數無法被那些有限的素數裡的任何一個整除:因爲無論被哪一個素數除,總有餘數1。

如果該數為素數,則根據假設,它不在那些假設的素數集合中。

如果該數為合數,因為任何一個合數都可以分解為幾個素數的積;而一開始假設的那些素數都不能整除該合數,所以該合數分解得到的素因數肯定不在假設的素數集合中。

因此無論該數是素數還是合數,都意味著在假設的有限個素數之外還存在着其他素數。

對任何有限個素數的集合來說,用上述的方法永遠可以得到有一個素數不在假設的素數集合中的結論。

实验报告(输出100以内的所有素数。)(一)

实验报告(输出100以内的所有素数。)(一)

组别
第一组
学号
班级
实验地点
软件实验室二
指导教师
实验时间
2012-2-27
(注:一到五条在实验预习时填写,六、七条在实验当中或之后填写)
一、实验项目名称:
实验一熟悉实验环境
(一)实验目的:1.了解和使用Visual C++ 6.0的集成开发环境。
2.熟悉Visual C++ 6.0环境的基本命令和功能键,熟悉常用的菜单命令。
3.学习使用Visual C++ 6.0环境的帮助。
4.学习完整的C++程序开发过程(编辑、编译、连接、调试、运行、查看结果)
(二)实验要求:输出100以内的所有素数。
三、实验环境及要求:
多媒体计算机一台
Windows XP操作系统
Visual C++6.0
四、实验原理及步骤:
1.明确素数的定义,确定求解方法。
六、实验数据记录:
七、结果分析与讨论:
(1)C语言是基础的编程语言,但他的很多细节都必须注意,特别是符号的漏写很可能导致程序无法运行。
(2)100以内的素数虽不多,但应该考虑到输出的格式。应使输出的数清晰,看着格式很舒服。
八、教师批阅意见:
成绩:指导教师签名:年月日
if(m%i==0)
break;
if(i>=k+1)
{
printf("%d ",m);
n++;
}
if(n%10==0)
printf("\n");
}
printf("\n");
}Hale Waihona Puke 五、实验注意事项:(1)选择合适的方法计算100以内的所有素数,

素数是什么意思它的定义是什么

素数是什么意思它的定义是什么

素数是什么意思它的定义是什么素数又叫质数。

素数,指的是“大于1的整数中,只能被1和这个数本身整除的数”。

素数也可以被等价表述成:“在正整数范围内,大于1并且只有1和自身两个约数的数”。

注:素数都是正整数;本文中的约数指的都是正约数。

素数的判断方法有:定义判断法;数据理论法;筛选法。

素数是什么意思1、素数又叫质数。

素数,指的是“大于1的整数中,只能被1和这个数本身整除的数”。

2、素数也可以被等价表述成:“在正整数范围内,大于1并且只有1和自身两个约数的数”。

【注】素数都是正整数;本文中的约数指的都是正约数。

素数的相关知识1、最小的素数是2,最小的合数是4。

【注】最小的素数和最小的合数都是偶数。

2、大于2的素数都是奇数,2是素数中唯一的偶数.3、1既不是素数也不是合数。

4、大于1的正整数中,不是素数就是合数。

5、素数不全是奇数,也可以是偶数,如:2素数的判断方法素数的判断方法如下:1、定义判断法。

根据定义所有素数都是大于1的自然数,那么小于等于1的数都没有素数的概念。

数字2只有1和2两个因数,因而必定是素数,其他数字x只要判定从2到x-1都无法被它整除,就证明改数字是素数。

2、数据理论法。

根据数论理论可以把数字分成6个大部分,6i,6i+1,6i+2,6i+3,6i+4,6i+5,也就是说数字x%6计算的值一定是0,1,2,3,4,5这6个数字,而6i,6i+2,6i+3,6i+4一定就是合数,它们都有除了1之外的因数,只有6i+1和6i+5可能是素数,因而一旦判定数字大于等于且6取模结果为0,2,3,4就可以判定不是素数。

3、筛选法,就是从2开始可以知道2的所有倍数都是合数,不是2的倍数可能是素数,第一个不是2的倍数的数一定是素数,也就是3,接着将3的倍数全部筛选掉,第一个不是2的倍数也不是3的倍数的数一定是素数也就是5,以此类推,最终筛选出某一范围内的所有素数。

素数环问题实验报告

素数环问题实验报告

素数环问题实验报告一、问题分析及算法思路该题的目的是让我们设计算法实现重新排列从1到20这20个数,使这20个数排列成一个圆并且相邻两位的和是素数。

这是一个组合问题,利用回溯法可以很好地解决问题。

我们可以用一长度为20的一位数组A[20]来存储这个圈,再用一长度为20的一位数组B[20]来标记一个数是否已经在素数环内了,然后逐渐确定对应每一个位置的数。

因为这是一个圈,没有次序问题(指从哪里先开始),我们可以始终使A[0]=1,逐渐确定A[1],A[2]……便可以最终确定出这个素数圈。

在设计算法时,我们可以选用递归回溯,回溯的剪枝函数是判断后面的数与前一个数之和是否为素数。

具体实施情况为:首先A[0]已经确定了,然后确定A[1],要求是A[0]+A{1]是素数且当前A[1]没有在素数环里出现,如果当前A[1]不满足条件,就继续寻找下一个A[1];如果确定了A[i],就继续寻找A[i+1];重复此操作直到确定A[19],此时检查A[0]+A[19]是否为素数,若是就输出A数组,否则不执行任何操作。

二、算法的程序实现该算法的程序实现:#include<iostream>#include<fstream>using namespace std;ofstream output("OUTOUT.txt");int A[20]={0};//存储排好序后的数列int B[20]={0};//标记对应的数是否已经在序列int SU(int n){int i=2,flag=0;for(i=2;i<=n/2;i++)if(n%i==0){flag=1;break;}if(flag)return 0;elsereturn 1;}//判断一个数是否为素数,是素数返回1void Handle(int k)//k表示正在寻找第k+1个数{if (k==20)//k=20时,说明20个数确定完毕,还要检验最后一个数与A[0]之和是否为素数{if (SU(A[19]+A[0])){int i=0;for ( i=0;i<20;i++)output<<A[i]<<' ';output<<endl; //输出结果}}else{int i=1;for ( i=2;i<=20;i++)if (B[i]==0 && SU(i+A[k-1])==1)//未用的数并且满足和前一个数和为素数{A[k]=i; B[i]=1;Handle(k+1); //递归调用B[i]=0;}}}int main(){/* int n;cin>>n;cout<<SU(n)<<endl;*/A[0]=1;B[0]=1;//第一个数已被使用Handle(1);output.close();return 0;}这程序和思路都比较简单,所以在编程实现中基本没有什么程序实现上的问题。

素数(超详细!!!)

素数(超详细!!!)

素数(超详细)整数惟⼀分解定理素数筛法给定n,求出1~n之间所有的质数。

⼀、Eratosthenes筛法(☒此处本应有⼀幅动图,然鹅我并不知道该如何显⽰动图(。-ω-)-ω-)-ω-)Eratosthenes筛法思想⼆、欧拉筛法(线性筛)埃⽒筛法中以n=30为例,30这个数被筛了3次,分别是:2*15(p=2)3*10(p=3)5*6(p=5)枚举 2~n 中的每⼀个数 i:如果 i 是素数则保存到素数表中;利⽤ i 和素数表中的素数 prime[j] 去筛除 i*prime[j] ,为了确保i*prime[j] 只被素数 prime[j] 筛除过这⼀次,要确保 prime[j] 是i*prime[j] 中最⼩的素还要⼩的素因⼦。

因⼦,即 i 中不能有⽐ prime[j] 还要⼩的素因⼦写法⼀:(仅⽤于判断)写法⼆:(可求出每个数的最⼩质因⼦)素数筛法优化素因数分解只要在判定素数时记录下每个数值的最⼩素因数即可。

⼀道肥肠简单的模板题——【例 1】Prime Distance(信息学奥赛⼀本通 1619)【题⽬描述】给定两个整数 L,R,求闭区间 [L,R] 中相邻两个质数差值最⼩的数对与差值最⼤的数对。

当存在多个时,输出靠前的素数对。

【输⼊】多组数据。

每⾏两个数 L,R。

【输出】详见输出样例。

【输⼊样例】2 1714 17【输出样例】2,3 are closest, 7,11 are most distant.There are no adjacent primes.。

回溯法解决素数环

回溯法解决素数环

算法分析实验报告回溯法-素数环学生姓名:专业:计算机科学与技术班级:学号:指导教师:2017年6月12日目录一、实验题目 (2)二、实验目的 (2)三、实验要求 (2)四、实现过程 (3)1、实验设计: (3)2、调试分析: (7)3、运行结果: (8)4、实验总结: (8)五、参考文献 (8)一、实验题目回溯法-素数环二、实验目的1.掌握回溯法的设计思想。

2.了解和掌握各种经典问题的回溯思想。

三、实验要求1.[问题描述]:把整数{1、2、3、····、20}填写到一个环中,要求每个整数只能填写一次,并且相邻的两个整数之和是一个素数。

2.[算法]:回溯法:在包含问题的所有可能解的解空间树中,从根节点出发,按照深度优先遍历的策略进行搜索,对于解空间树种的某个节点,如果该节点满足问题的约束条件,则进入该子树继续进行搜索,否则将以该节点为根节点的子树进行剪枝。

回溯法常常可以避免所有的可能解,所以,适用于求解组合数中较大的问题。

回溯法从解空间树的根节点出发,按照深度优先遍历策略搜索满足约束条件的解。

在搜索至树种某节点时,先判断该节点对应的部分是否满足约束条件,也就是判断该节点是否包含问题的(最优)解,如果肯定不包含,则跳过该节点为跟的子树,即所谓剪枝;否则,进入以该节点为跟的子树,继续按照深度优先遍历策略进行搜索。

四、实现过程1、实验设计:1. 这个素数环有20 个位置,每个位置可以填写的整数位1~20,共20种可能,可以对每个位置从1开始进行探索,约束条件是正在试探的数满足如下约束条件:(1)与已经填写的素数环中的整数不重复;(2)与前面相邻的整数之和是一个素数;(3)最后一个填写到素数环中的整数与第一个填写的整数之和是一个素数。

在填写第K个位置时,如果满足上述约束条件,则继续填写第K+1个位置;如果1~20都无法填写到第K个位置,则取消对第K个位置的填写,回溯到第K+1个位置。

流程控制素数判断实验报告

流程控制素数判断实验报告下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!# 流程控制素数判断实验报告一、实验目的1. 掌握流程控制的基本概念和方法。

素数环实验报告

一、实验目的1. 理解素数环的定义和特性。

2. 掌握使用C语言编程解决素数环问题的方法。

3. 学习回溯算法在解决此类问题中的应用。

4. 分析不同算法的效率,并尝试优化。

二、实验背景素数环是指在1到n这n个整数围成的圆环中,任意两个相邻的数字相加,结果均为素数。

本实验旨在通过编程找出给定范围内所有可能的素数环。

三、实验内容1. 素数环的定义与特性素数环的定义如上所述。

素数环具有以下特性:(1)圆环中至少包含两个素数;(2)任意两个相邻的数字相加,结果均为素数;(3)圆环中不包含重复的数字。

2. 素数判断算法在实验中,首先需要实现一个判断素数的函数。

常用的判断素数的方法有试除法和埃拉托斯特尼筛法。

本实验采用试除法,即判断一个数是否能被2到其平方根之间的整数整除。

3. 回溯算法回溯算法是一种在解决组合问题时常用的算法。

在寻找素数环的过程中,我们可以使用回溯算法进行穷举搜索。

具体步骤如下:(1)从1开始,尝试将1作为圆环的第一个数字;(2)遍历1到n之间的所有数字,判断当前数字与圆环中最后一个数字相加是否为素数;(3)若相加结果为素数,则将该数字添加到圆环中,并继续向下搜索;(4)若相加结果不为素数或已遍历到n,则回溯,将当前数字从圆环中移除,并尝试下一个数字;(5)重复步骤2-4,直到找到所有可能的素数环。

4. 素数环搜索算法在得到判断素数的函数和回溯算法后,我们可以编写一个搜索素数环的函数。

该函数将调用判断素数的函数和回溯算法,以找到所有可能的素数环。

四、实验步骤1. 定义判断素数的函数```cint isPrime(int num) {if (num <= 1) return 0;for (int i = 2; i i <= num; i++) {if (num % i == 0) return 0;}return 1;}```2. 编写回溯算法函数```cvoid findPrimeCircle(int n, int ring, int index) {if (index == n) {// 找到一个素数环,打印结果for (int i = 0; i < n; i++) {printf("%d ", ring[i]);}printf("\n");return;}for (int i = 1; i <= n; i++) {if (ring[index - 1] + i > n) continue; // 避免重复数字 if (isPrime(ring[index - 1] + i)) {ring[index] = i;findPrimeCircle(n, ring, index + 1);ring[index] = 0; // 回溯}}}```3. 编写主函数,调用搜索素数环函数```cint main() {int n = 20; // 给定n的值int ring[n]; // 存储素数环的数组for (int i = 0; i < n; i++) {ring[i] = 0; // 初始化数组}findPrimeCircle(n, ring, 0);return 0;}```五、实验结果与分析1. 实验结果当n=20时,程序找到了以下可能的素数环:1 3 4 6 8 9 11 12 14 16 17 18 19 201 3 5 7 9 11 13 15 17 192 4 6 8 10...2. 实验分析(1)回溯算法在解决素数环问题时具有较好的效果,能够找到所有可能的解。

素数实验

哈 工 程 大 学 数 学 实 验 电 子 教 案
•是否存在单变量整系数的多项式, 它只生成素数并且生成 所有的素数? •更一般地,是否存在一个生成素数的多变量函数公式? • 如果这样的公式不存在, 能否找到一个虽不能给出全部但 能给出无穷多个素数(且只给出素数)的公式?
Fermat数:
• 形如F_n=2^{2^n}+1的数被称为 Fermat数。 Fermat宣称 对所有的整数n, Fn永远是素数。 的确, F0=3, F1=5, F2=17, F3=257, F4=65537都是素数。 • 但Euler后来指出F5=4294967297=641 6700417 是合数。
具有26个变量25次的素数生成多项式!
上页 下页 退出
⑹素数的分布
哈 工 程 大 学 数 学 实 验 电 子 教 案
(1)随着整数范围的扩大,素数是不是越来越稀疏?稀疏
的程度是否单调地增加?
(2)相邻素数之间的间隔值有哪些? 它们各重复多少次? 哪
些间隔值的重复次数多? 最大间隔值是多少? 随整数范围扩
假设我们已经找到了前n个素数p1=2, p2=3, ...,pn, 为了寻 找下一个素数我们从pn+1开始依次检验每一个整数N, 看N是否 能被某个pi, i=1,2,...,n整除. 如果N能被前面的某个素数整除, 则N为合数. 否则N即为下 一个素数pn+1. 为提高算法的效率, 只需用不超过 N 的素数去除N。 练习5:利用试除法,通过计算机编程,求出给定范围内的 所有素数。 请看下面的mathematica源程序。
上页 下页 退出
欧拉曾经研究过使用整数多项式生成素数,看下面的练习:
哈 工 程 大 学 数 学 实 验 电 子 教 案

素数的算法原理及应用

素数的算法原理及应用简介素数,也称质数,是指除了1和它本身之外没有其他约数的自然数。

素数一直以来都在密码学、计算机科学和数论等领域有着重要的应用。

本文将介绍素数的算法原理及其在实际应用中的重要性。

素数的定义1.素数是只能被1和自身整除的自然数。

2.素数大于1,因为1既不是素数也不是合数。

素数的判断算法方法一:试除法试除法是最简单、直观的判断一个数是否为素数的方法,其基本原理是将待判断的数分别除以小于这个数的平方根的所有素数,如果能整除则不是素数,否则是素数。

这个方法的时间复杂度为O(sqrt(n))。

方法二:埃拉托斯特尼筛法埃拉托斯特尼筛法是一种筛选素数的方法,其基本思想是从2开始,将每个素数的倍数标记为合数,直到筛选完所有范围内的数。

这个方法的时间复杂度为O(n log log n)。

方法三:米勒-拉宾素性测试米勒-拉宾素性测试是一种概率性的素性测试方法,其基本原理是通过对一个数进行多次随机的测试,如果都通过了测试,则该数很大概率上为素数。

这个方法的时间复杂度较低,适用于大整数的素性测试。

素数的应用密码学在密码学中,素数常常用于生成加密密钥。

RSA加密算法就是基于大素数的乘法运算原理,将两个大素数相乘得到的乘积难以分解,从而保证了数据的安全性。

哈希算法在哈希算法中,素数经常被用作哈希函数的取模数。

素数的使用可以减小冲突的概率,提高哈希算法的效率。

赌博游戏素数在赌博游戏中也有着应用。

例如,轮盘赌游戏中,赌注的数值常常被选取为素数,这样可以降低赌客破解出赌注的概率,增加游戏的刺激性。

素数分布猜想素数的分布一直是数论中的一个重要问题。

素数定理是素数分布的基本描述,它给出了小于等于一个正整数x的素数的个数约为x/ln(x)。

这个猜想对于数论研究以及应用具有重要的参考价值。

总结素数作为数学中的重要概念,具有广泛的应用领域。

了解素数的算法原理以及其在实际应用中的重要性,可以帮助我们更好地理解和应用素数。

无论是在密码学、哈希算法还是赌博游戏中,素数都起着重要的作用。

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

数学实验报告实验五素数学院:数学与信息科学学院班级:09级数学(4)班姓名:***学号:***实验五素数实验名称素数实验目的掌握素数的含义及其性质,并能熟练的运用素数的判别与求解、生成素数的公式、素数的分布;学会探讨素数的规律及其相关的某些有趣的问题,同时掌握一些基本的、常用的方法。

实验环境Mathematica4.0系统实验的基本理论与方法1、用Eratosthenes筛法和试除法求解小于等于n的素数;2、Fermat判别法和Mersenne数判别是否为素数;3、生成素数的公式有n2+n+41,n2-79n+1601,6n2+6n+31;4、素数的分布:利用程序求解某一区间内素数的个数。

实验的内容与步骤一、素数的产生、求解及判别1、素数的产生程序Table Prime n,n,25运行结果2、素数的求解利用Eratosthenes 筛选法,通过计算机编程求1000以内的所有素数输入程序:.Sieve n_Integer:Module t,i,temp,For i2,i n,i,AppendTo t,i;For i1,Prime i Sqrt n,i,temp Prime i;t Select t,#1temp Mod#1,temp0&;t Sieve1000运行结果:(2)用试除法求所有小于等于1000的素数输入程序:DivPrime n_Integer:Module t,i,j,temp,divided,For i2,i n,i,j1;divided False;While Prime j Sqrt i&&divided,temp Prime j;divided Mod i,temp0;j j1;If divided,AppendTo t,i;tDivPrime1000运行结果:(3)判断Eratosthenes 筛选法与试除法哪个更有效?取n=1000时,程序如下Sieve n_Integer:Modulet,i,temp,For i2,i n,i,AppendTo t,i;For i1,Prime i Sqrt n,i,temp Prime i;t Select t,#1temp Mod#1,temp0&; Timing Sieve1000S i e v e n_I n t e g e r:M o d u l et,i,t e m p,F o r i2,i n,i,A p p e n d T o t,i;F o r i1,P r i m e i S q r t n,i,t e m p P r i m e i;t S e l e c t t,#1t e m p M o d#1,t e m p0&; T i m i n g S i e v e10000.031Null Second,Null2DivPrime n_Integer:Modulet,i,j,temp,divided,For i2,i n,i,j1;divided False;While Prime j Sqrt i&&divided,temp Prime j;divided Mod i,temp0;j j1;If divided,AppendTo t,i;Timing DivPrime1000D i v P r i m e n_I n t e g e r:M o d u l et,i,j,t e m p,d i v i d e d,F o r i2,i n,i,j1;d i v i d e d F a l s e;W h i l e P r i m e j S q r t i&&d i v i d e d,t e m p P r i m e j;d i v i de d M o d i,t e m p0;j j1;I f d i v i d e d,A p p e n d T o t,i;T i m i n g D i v P r i m e10000.156Null Second,Null2Sieve n_Integer:Modulet,i,temp,For i2,i n,i,AppendTo t,i;For i1,Prime i Sqrt n,i,temp Prime i;t Select t,#1temp Mod#1,temp0&; Timing Sieve10000S i e v e n_I n t e g e r:M o d u l et,i,t e m p,F o r i2,i n,i,A p p e n d T o t,i;F o r i1,P r i m e i S q r t n,i,t e m p P r i m e i;t S e l e c t t,#1t e m p M o d#1,t e m p0&; T i m i n g S i e v e100002.11Null Second,Null2D i v P r i m e n_I n t e g e r:M o d u l et,i,j,t e m p,d i v i d e d,F o r i2,i n,i,j1;d i v i d e d F a l s e;W h i l e P r i m e j S q r t i&&d i v i d e d,t e m p P r i m e j;d i v i de d M o d i,t e m p0;j j1;I f d i v i d e d,A p p e n d T o t,i;T i m i n g D i v P r i m e10000D i v P r i m e n_I n t e g e r:M o d u l et,i,j,t e m p,d i v i d e d,F o r i2,i n,i,j1;d i v i d e d F a l s e;W h i l e P r i m e j S q r t i&&d i v i d e d,t e m p P r i m e j;d i v i de d M o d i,t e m p0;j j1;I f d i v i d e d,A p p e n d T o t,i;T i m i n g D i v P r i m e100002.Null Second,Null2M n_I n t e g e r:M o d u l e y,k,m2;k m^n1;x M o d k,n;P r i n t n,"",P r i m e Q n,"",x,"",G C D m,n D o M n,n,2,100M n_I n t e g e r:M o d u l e y,k,m2;k m^n1;x M o d k,n;P r i n t n,"",P r i m e Q n,"",x,"",G C D m,n D o M n,n,2,10013True11 14False22 15False41 16False02 17True11 18False142 19True11 20False82 21False41 22False22 23True11 24False82 25False161 26False22 27False131 28False82 29True11 30False22 31True11 32False02 33False41 34False22 35False91 36False322 37True11 38False22 39False41 40False82 41True11 42False322 43True11 44False82 45False311 46False22 47True11 48False322 49False151 50False122 51False41 52False82 53True11 54False142 55False49157False41 58False22 59True11 60False82 61True11 62False22 63False41 64False02 65False161 66False322 67True11 68False82 69False41 70False222 71True11 72False322 73True11 74False22 75False341 76False82 77False91 78False322 79True11 80False482 81False401 82False22 83True11 84False322 85False161 86False22 87False41 88False402 89True11 90False322 91False641 92False82 93False41 94False22 95False541 96False322 97True11 98False582 99False581M n_Integer:Module y,k,m3;k m^n1;x Mod k,n;Print n,"",PrimeQ n,"",GCD m,n,"",x Do M n,n,2,100M n_I n t e g e r:M o d u l e y,k,m3;k m^n1;x M o d k,n;P r i n t n,"",P r i m e Q n,"",G C D m,n,"",x D o M n,n,2,10027False30 28False127 29True11 30False33 31True11 32False111 33False39 34False13 35False14 36False327 37True11 38False13 39False39 40False127 41True11 42False333 43True11 44False127 45False336 46False13 47True11 48False327 49False143 50False133 51False39 52False127 53True11 54False327 55False14 56False13 57False39 58False13 59True11 60False327 61True11 62False13 63False39 64False143 65False116 66False345 67True11 68False127 69False3971True1172False32773True1174False1375False36976False12777False12578False3979True1180False12781False3082False1383True1184False37585False18186False1387False3988False17589True1190False36391False1192False12793False3994False1395False12496False37597True1198False15999False327100False167Null2m=4时输入程序:M n_Integer:Module y,k,m4;k m^n1;x Mod k,n;Print n,"",PrimeQ n,"",GCD m,n,"",x Do M n,n,2,100运行结果:M n_Integer:Module y,k,m4;k m^n1;x Mod k,n;Print n,"",PrimeQ n,"",GCD m,n,"",x Do M n,n,2,1002True203True114False405True116False247True118False409False1710False2411True1112False4413True1114False2415False1116False4017True1118False21619True1120False4421False11622False2423True1124False41625False1626False2427False1728False4829True1130False2431True1132False4033False11634False2435False11136False41637True1138False2439False11640False42441True11 42False216 43True11 44False420 45False116 46False24 47True11 48False416 49False129 50False244 51False116 52False412 53True11 54False234 55False136 56False432 57False116 58False24 59True11 60False44 61True11 62False24 63False116 64False40 65False161 66False234 67True11 68False464 69False116 70False264 71True11 72False416 73True11 74False24 75False131 76False464 77False14 78False210 79True11 80False464 81False161 82False24 83True11 84False41685False1186False2487False11688False41689True1190False23491False1192False46493False11694False2495False16696False46497True1198False23299False197100False444(2)对n=2,3,..,300,判断哪些Mersenne数Mn=2n-1是素数?输入程序:t1;F o r n2,n100,n,P r i n t n,"",P r i n t Q n,"",2^n1,F a c t o r I n t e g e r2^n1运行结果:t1;F o r n2,n100,n,P r i n t n,"",P r i n t Q n,"",2^n1,F a c t o r I n t e g e r2^n12PrintQ233,13PrintQ377,14PrintQ4153,1,5,15PrintQ53131,16PrintQ6633,2,7,17PrintQ7127127,18PrintQ82553,1,5,1,17,19PrintQ95117,1,73,110PrintQ1010233,1,11,1,31,111PrintQ11204723,1,89,112PrintQ1240953,2,5,1,7,1,13,113PrintQ1381918191,114PrintQ14163833,1,43,1,127,115PrintQ15327677,1,31,1,151,116PrintQ16655353,1,5,1,17,1,257,117PrintQ17131071131071,118PrintQ182621433,3,7,1,19,1,73,119PrintQ19524287524287,120PrintQ2010485753,1,5,2,11,1,31,1,41,121PrintQ2120971517,2,127,1,337,122PrintQ2241943033,1,23,1,89,1,683,123PrintQ23838860747,1,178481,124PrintQ24167772153,2,5,1,7,1,13,1,17,1,241,125PrintQ253355443131,1,601,1,1801,126PrintQ26671088633,1,2731,1,8191,127PrintQ271342177277,1,73,1,262657,128PrintQ282684354553,1,5,1,29,1,43,1,113,1,127,129PrintQ29536870911233,1,1103,1,2089,130PrintQ3010737418233,2,7,1,11,1,31,1,151,1,331,131PrintQ3121474836472147483647,132PrintQ3242949672953,1,5,1,17,1,257,1,65537,133PrintQ3385899345917,1,23,1,89,1,599479,134PrintQ34171****91833,1,43691,1,131071,135PrintQ353435973836731,1,71,1,127,1,122921,136PrintQ36687194767353,3,5,1,7,1,13,1,19,1,37,1,73,1,109,137PrintQ37137438953471223,1,616318177,138PrintQ382748779069433,1,174763,1,524287,139PrintQ395497558138877,1,79,1,8191,1,121369,140PrintQ4010995116277753,1,5,2,11,1,17,1,31,1,41,1,61681,141PrintQ41219902325555113367,1,164511353,142PrintQ4243980465111033,2,7,2,43,1,127,1,337,1,5419,143PrintQ438796093022207431,1,9719,1,2099863,144PrintQ44175921860444153,1,5,1,23,1,89,1,397,1,683,1,2113,145PrintQ45351843720888317,1,31,1,73,1,151,1,631,1,23311,146PrintQ46703687441776633,1,47,1,178481,1,2796203,147PrintQ471407374883553272351,1,4513,1,13264529,148PrintQ482814749767106553,2,5,1,7,1, 13,1,17,1,97,1,241,1,257,1,673,149PrintQ49562949953421311127,1,4432676798593,150PrintQ5011258999068426233,1,11,1, 31,1,251,1,601,1,1801,1,4051,151PrintQ5122517998136852477,1,103,1,2143,1,11119,1,131071,152PrintQ5245035996273704953,1,5,1,53,1,157,1,1613,1,2731,1,8191,153PrintQ5390071992547409916361,1,69431,1,20394401,154PrintQ54180143985094819833,4,7,1,19,1,73,1,87211,1,262657,155PrintQ553602879701896396723,1,31,1,89,1,881,1,3191,1,201961,156PrintQ56720575940379279353,1,5,1,17,1, 29,1,43,1,113,1,127,1,15790321,157PrintQ571441151880758558717,1,32377,1,524287,1,1212847,158PrintQ582882303761517117433,1,59,1, 233,1,1103,1,2089,1,3033169,159PrintQ59576460752303423487179951,1,3203431780337,160PrintQ6011529215046068469753,2,5,2,7,1,11,1,13,1,31,1,41,1,61,1,151,1,331,1,1321,161PrintQ6123058430092136939512305843009213693951,162PrintQ6246116860184273879033,1,715827883,1,2147483647,163PrintQ6392233720368547758077,2,73,1,127,1,337,1,92737,1,649657,164PrintQ64184467440737095516153,1,5,1, 17,1,257,1,641,1,65537,1,6700417,165PrintQ653689348814741910323131,1,8191,1,145295143558111,166PrintQ66737869762948382064633,2,7,1,23,1, 67,1,89,1,683,1,20857,1,599479,167PrintQ67147573952589676412927193707721,1,761838257287,168PrintQ682951479051793528258553,1,5,1, 137,1,953,1,26317,1,43691,1,131071,169PrintQ695902958103587056517117,1,47,1,178481,1,10052678938039,170PrintQ7011805916207174113034233,1,11,1,31,1,43,1,71,1,127,1,281,1,86171,1,122921,171PrintQ712361183241434822606847228479,1,48544121,1,212885833,172PrintQ7247223664828696452136953,3,5,1,7,1,13,1,17,1,19,1,37,1, 73,1,109,1,241,1,433,1,38737,173PrintQ739444732965739290427391439,1,2298041,1,9361973132609,174PrintQ74188894659314785808547833,1,223,1,1777,1,25781083,1,616318177,175PrintQ75377789318629571617095677,1,31,1, 151,1,601,1,1801,1,100801,1,10567201,176PrintQ76755578637259143234191353,1,5,1, 229,1,457,1,174763,1,524287,1,525313,177PrintQ7715111572745182864683827123,1,89,1,127,1,581283643249112959,178PrintQ783022314549036572936765433,2,7,1, 79,1,2731,1,8191,1,121369,1,22366891,179PrintQ796044629098073145873530872687,1,202029703,1,1113491139767,180PrintQ8012089258196146291747061753,1,5,2,11,1,17,1,31,1,41,1,257,1,61681,1,4278255361,181PrintQ8124178516392292583494123517,1,73,1, 2593,1,71119,1,262657,1,97685839,182PrintQ8248357032784585166988247033,1, 83,1,13367,1,164511353,1,8831418697,183PrintQ839671406556917033397649407167,1,57912614113275649087721,184PrintQ84193428131138340667952988153,2,5,1,7,2,13,1,29,1,43,1,113,1, 127,1,337,1,1429,1,5419,1,14449,185PrintQ853868562622766813359059763131,1,131071,1,9520972806333758431,186PrintQ86773712524553362671811952633,1, 431,1,9719,1,2099863,1,2932031007403,187PrintQ871547425049106725343623905277,1,233,1, 1103,1,2089,1,4177,1,9857737155463,188PrintQ883094850098213450687247810553,1,5,1,17,1,23,1,89,1,353,1,397,1,683,1,2113,1,2931542417,189PrintQ89618970019642690137449562111618970019642690137449562111,190PrintQ9012379400392853802748991242233,3,7,1,11,1,19,1,31,1,73,1,151,1,331,1,631,1,23311,1,18837001,191PrintQ912475880078570760549798248447127,1, 911,1,8191,1,112901153,1,23140471537,192PrintQ9249517601571415210995964968953,1,5,1,47,1,277,1,1013,1,1657,1,30269,1,178481,1,2796203,193PrintQ9399035203142830421991929937917,1,2147483647,1,658812288653553079,194PrintQ94198070406285660843983859875833,1,283,1,2351,1,4513,1,13264529,1,165768537521,195PrintQ953961408125713216879677197516731,1, 191,1,524287,1,420778751,1,30327152671,196PrintQ96792281625142643375935439503353,2,5,1,7,1,13,1,17,1,97,1,193,1,241,1,257,1,673,1,65537,1,22253377,197PrintQ9715845632502852867518708790067111447,1,13842607235828485645766393,198PrintQ983169126500570573503741758013433,1,43,1,127,1,4363953127297,1,4432676798593,199PrintQ996338253001141147007483516026877,1,23,1,73,1,89,1,199,1,153649,1,599479,1,33057806959,1100PrintQ10012676506002282294014967032053753,1,5,3,11,1,31,1,41,1,101,1,251,1,601,1,1801,1,4051,1,8101,1,268501,1将素数从小到大排序P12,P23,....用d n P n1P n表示相邻的素数计算d1,d2,...d n并画图t:T a b l e P r i m e i1P r i m e i,i,1,100tt:T a b l e P r i m e i1P r i m e i,i,1,100t1,2,2,4,2,4,2,4,6,2,6,4,2,4,6,6,2,6,4,2,6,4,6,8,4,2,4,2,4,14,4,6,2,10,2,6,6,4,6,6,2,10,2,4,2,12,12,4,2,4,6,2,10,6,6,6,2,6,4,2,10,14,4,2,4,14,6,10,2,4,6,8,6,6,4,6,8,4,8,10,2,10,2,6,4,6,8,4,2,4,12,8,4,8,4,6,12,2,18,6n=1000时画出(pn,dn)的图:t:=Table[{Prime[i],Prime[i+1]-Prime[i]},{i,1,1000}] ListPlot[t,PlotStyle RGBColor[1,0,0]]20151052000400060008000n=10000时画出(pn,dn)的图:t:=Table[{Prime[i],Prime[i+1]-Prime[i]},{i,1,10000}] ListPlot[t,PlotStyle RGBColor[1,0,0]]302010200004000060000800001000002、在二维坐标平面上标出点列n,n,n1,2...观察n趋于无穷的趋势,并和函数y=x,以及y x比较.类似观察n,n x,以及n,n n,n,n log n,和n,n n。

相关文档
最新文档