质数个数有没有副数

求1到n之间素数的个数
&&&&&&本题的n&=;对于本题最常规的一种做法就是打表,虽然时间做的出来,但是代码长度就不乐观了,但是我们可以适当的做些优化。比如首先我们把分成1000份,那么每份的长度是100000。这样假设我们要求的是1到n之间的素数个数,那么我们可以把这些区间的素数个数加起来[1,100000],[000]……[……,a]这样前面的区间我们的个数已经在打表中可得,只需求最后的区间就可以了。最后的那个区间我们就要素数筛选就可以了,这是其一种方法。
本题的另一种解法是Dfs+容斥原理,你可以这样想a=sqrt(n)最多不过10000。
首先我们都知道一个合数都可以用多个素数的乘积表示,比如:30=2*3*5.所以我们可以求出合数的个数,再从总数里减去就可以了。这样我们可以减去2的倍数(当然不包括2),3的倍数……。但是我们有发现6既是2的倍数也是3的倍数,这样就产生了容斥原理。下面是代码:
#include&stdio.h&
#include&string.h&
#include&math.h&
int flag[10006];
int num[10000],total,now,n;
void solve(int index,int Mul,int K){
&& if(K==0){
for(i=i&total-K+1;i++){
Mul*=num[i];
if(Mul&=n){
&&&&&&&&&&&&&
solve(i+1,Mul,K-1);
if(t==now)//优化剪枝(1)
&&&&&&&&&&
Mul/=num[i];
int Judge(int x){
&t=sqrt(x*1.0);
&for(i=2;i&=t;i++)
&&if(n%i==0)
&return 1;
int main(){
&memset(flag,0,sizeof(flag));
&for(i=2;i&=10000;i++){
&&if(flag[i])
&&for(j=2;j*i&=10000;j++)
&&&flag[i*j]=1;
&while(scanf("%d",&n)==1){
&&Count=0;
&&if(n&=10000){
&&&for(i=2;i&n;i++)
&&&&if(!flag[i])
&&&&&Count++;
&&&t=sqrt(1.0*n);
&&&total=0;
&&&for(i=2;i&=t;i++)
&&&&if(!flag[i])
&&&&&num[total++]=i;
&&&for(i=1;i&=i++){
&&&&now=0;
&&&&solve(0,1,i);
&&&&if(now==0)//优化(2)
&&&&if(i&1)
&&&Count-=
&&&Count=n-Count-1;
&&&if(Judge(n))
&&&&Count--;
&&printf("%d\n",Count);
&return 0;
思想来自:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。寻找新质数的可行性?
关于未知质数的问题
首先引用证明质数存在无穷多:
我们先假设质数的个数是有限多的,那么必然存在一个“最大的质数”,设这个“最大的质数”为N。下面我们找出从1到N之间的所有质数,把它们连乘起来,就是:
2×3×5×7×11×13×……×N
把这个连乘积再加上1,得到一个相当大的M=2×3×5×7×11×13×……×N+1
那么这个M是质数还是合数呢? 乍一想,不难判断,既然N是最大的质数,而且M&N,那么M就应该是合数。既然M是合数,就可以对M分解质因数。可是试一下就会发现,我们用从1到N之间的任何一个质数去除M,总是余1!这个现实,又表明M一定是质数。
这个自相矛盾的结果,无非说明: 最大的质数是不存在的!如果有一个足够大的质数N,一定可以像上面那样,找到一个比N更大的质数M。既然不存在最大的质数,就可以推知自然数中的质数应该有无限多个。
目前发现的最大质数:
截止2013年2月发现最大的素数是p=2^,为第48个梅森素数。误区认识:
在百度上不难找到以下结论:
M=2×3×5×7×11×13×……×N+1,用从1到N之间的任何一个质数去除M,总是余1!这个现实,又表明M一定是质数。此结论大错特错,例如,2×3×5×7×11×13+1=9,30031是个合数。
造成这个结论的根本原因我认为是因为还没有乘以足够多的质数,不难看出59和509是比2,3,5,7,11,13更大的两个质数。问题如下:
把所有已知质数的乘积+1,那不就发现下一个未知质数了吗?
下一个未知质数P=2×3×5×7×11×13×……×M48 + 1
因为还未发现有更大的质数能被P整除,所以此方法算出的p 目前一定为质数。跪求
大神指点!
按投票排序
感觉大家没抓住题主问题重心啊。因为题主显然不是程序设计爱好者吧。前面分析已提到了,再分M可约性讨论下。1、M为素数我们需要对这一点证明。解决这个问题是很简单的!试除法!用小于等于的每个素数去试除待分解的整数。如果找到一个数能够整除除尽,这个数就是待分解整数的因子。如果找不到这样一个因子,则说明x为素数。=。=用这个方法找M49?在世界末日后我们也得不到结果。对时间复杂度的分析当然是要会的。一般来说(凭我滞后的记忆),主流的普通大数素性测试方法多基于椭圆曲线的研究发展而来,但我不懂(…),那挑Miller-Rabin算法小讲一下。Miller-Rabin算法:很多人认为这货能证M48吗?。复杂度为,因为有不能保证运行结果正确性的缺点,需要多次运行来减少出错率,这是复杂度中的由来。虽然可以证明在适当参数选择下运行次可以保证结果正确,但这没有意义。(还有次的说法,不管嘞……)MR单次运行出错率为1/4,那么如果试图公正地判断M49周围的所有数的素性,k的取值将达到我们无法接受的程度——但这不是重点。重点是,哪怕我们取,我们也无法承受这个算法所隐含的常数因子。传统时间复杂度的表示在这里不适用了,我们认为进行一次基础的四则运算所需的时间:(说起来除法复杂度也忘了欢迎指正)那么即便不理解MR的具体实现也不用试图虐待我们的PC了……2、M为合数题主疑惑的似乎是这一点吧。前面我们指出了证明M为素数在时间上的难度,那么在M为合数时,找到M的一个因子会不会容易点呢?泥**都找到它因子了不就证明它不是素数了吗。不过提还是提下。这个什么我也没记住原理的启发式因式分解算法……可以把因式分解的时间缩短到.其过程也要依赖MR,相比前者是确定性算法,但对运行时间的优化毕竟不足。大数分解的困难性是信息安全学、密码学的一大基础啊。(……稍有常识的人都能看出,如果我们的PC继续运行……)那么是怎么找出M48的呢?因为每一把锁都有一把最适合她的钥匙……Lucas-Lehmer检验法,您的真心伴侣。前提是你是一个梅森素数。……那么完了。
那个素数个数无穷的证明其实是分两种情况讨论的, 初等数论的教材里一般都有。令M = 2*3* ... * N +1因为M不被N以下的任何素数整除,那么就有:1. M本身为素数,则这个直接证明了没有最大的素数。或2. M为和数由于任何小于等于N的数都不能整除M,那么M的素因数一定大于N,同样证明结论。这个构造并不保证M一定为素数新的可能的梅森素数用2^p
1生成,然后用Miller-Rabin素性检验或者更直接一点用筛法检验即可, 计算时间问题而已。
「目前一定为质数 」是什么鬼?要么是要么不是,这是客观存在的。只是是否找到分解方法的问题。
miller rabin 或者baillie psw素性判定算法!通过你这种构造然后分解质因数的办法来寻找素数,效率可以说不是一般的低!
设,那么素数都不整除,但这还不足以说明是素数,因为可能存在位于和之间(即)的素数整除。比如就不是素数。
自己动手算一下,2*3+1 = 7,这就已经跳过5这个质数了。所以用上边方法求出的质数未必是M49。而如果目的仅仅是生成一个质数,公式实际上非常多,有兴趣可以去wiki看一下。
比如就不是素数。再乘到17,得510510,加1得510511,等于**乘到到19,得9699690,加1得9699691,等于 *再乘到23,得,加1得,等于 *再乘到29,得,加1得,等于 **再乘到31,得,加1得,终于得到一个质数了。再乘到37,得0,加1得1,等于 **好,不想算了。
已有帐号?
无法登录?
社交帐号登录素数有负的吗
素数有负的吗
素数没有负的!素数是在正整数范围内研究的一个概念。
质数没有负的 所谓质数或称素数,就是一个正整数,除了本身和 1 以外并没有任何其他因子.例如 2,3,5,7 是质数,而 4,6,8,9 则不是,后者称为合成数.从这个观点可将整数分为两种,一种叫质数,一种叫合成数.(有人认为数目字 1 不该称为质数)著名的高斯「唯一分解定理」说,任何一个整数.可以写成一串质数相乘的积. (例1) ,, , , , ,这就是说,任何数都由质数构成的. (例2) 2=(1×2),3,5,7,11…均为质数.而4,6,8不为质数.(因为最少还有因数2) 由於质数本身的奇异性使人无法一把抓住它出现的规律,抓住它出现的特性甚至不知道它实际分布的情形.简单来说,给你一个正整数,你竟不可知道它是否是一个质数,即使你用尽了方法,证明它不可能是一个质数,但竟无法分解它,举例来说:211-1=2047 可以分解成 .267-1 呢 据说美国代数学家 Frank Neloon Cole花了三年多才发现的.自然那时「电脑时代」还未来临,只能靠无限的耐心与毅力,再加上一副长於计算数目的训练才弄得出来.但有了电脑似乎好不了多少,数目字加大了,困难依旧.1931年 D.H. Lehmar 证明了 2257-1 是一个大合成数.大!不错.它等於 231,584,178,474,632,390,847,141,970,017,375,815,706, 539,969,331,281,128,078,915,168,015,826,259,279,871 一个78位数字的大数,到目前仍未有人或电脑能分解它! 因此,虽然知道一个数目是否质数也许没有多大用处,但仍是很有趣味,最少在找它的过程中会引起很多方法论的问题. 质数的特性 1质数除了2之外,必为奇数.(换句话说,2是最小的质数,也是唯一的偶数) 2「1」不算是质数. 3「算术基本定理」:比1大的任何整数,必可分解为质因数的乘积,且表示的方法是唯一的. 质数的个数与求法 1欧几里德证明了「质数必有无限个」 2「Eratosthenes」滤套若要求从2到n的质数,只要检查n是否可被不大於的质数整除即可.要判断313是否为质数,则只要检查313是不是可以被小於或等於17的质数整除即可. 3质数有没有一种特殊的型式呢 Mersenne质数:型如,若为质数时称之(但质数不一定型如, 例如就非质数.)目前已知有3, 7, 31, 127,等38个,还在寻找中… 费玛质数:型如,当n=0到4时.(但质数不一定型如,例如n=5时,非质数.) 【注】型如称为「费玛数」,而费玛质数只有3 , 5, 17 , 257 , 65537等五个. 4可不可以用一个公式,表示出所有的质数呢 (1)欧拉::在x=0,1,2…40时,可得41个质数 (1)勒真德::在x=0,1,2…28时,可得29个质数 :在x=0,1,2…79时,可得80个质数 :在x=1,2…11000时,可得11000个质数 ●但是,没有一个多项式可表示出所有的质数为什麼要找质数「既然质数有无限多个,那麼为什麼数学家要投入那麼多的心力一直寻找更大的质数呢 」简单的说,数学家就和一般人一样,「你有收藏东西的兴趣习惯吗 」「喜欢在比赛中得到名次吗 」这个都是理由之一.回答这个问题,可以用几个方向来说明, 一,这是传统! 在西元前300年的欧几里德已经开始这个追求!他在「几何原本」中提及完全数的概念,其中和麦司尼质数产生了关联,开启了研究之门,之后大数学家如费玛,欧拉,麦司尼,笛卡尔…相继投入这个追寻的工作中.也就在寻找大的质数的过程中,对基本数论有很大的助益,因此这个寻找的传统值得被继续~二,它的附加价值! 因为美国的政治上的目的,才有把人送上月球的创举,但是追寻大的质数例如像麦司尼质数,对社会影响的却是持续不断的,它的副加价值在於不断促进科技的进步与人们的日常生活有用的东西材质的研发,也改进教育建设让生活更有生产力.在寻找并纪录麦司尼质数的过程中,让老师可以带领学生投入研究,这让学生将研究的精神用於工作上,让工程或科学的得以进步,当然这只是副加价的一部份而已. 三,人们喜欢美丽且稀少的物品! 如前文提及欧几里德已经开始这个追求后,它是如此稀少(目前已知有30多个,还在寻找中),不仅如此它也是美丽的;数学上什麼叫作「美丽」 例如人们希望证明是简短,明了,而且可以绐合旧知识让你了解新的东西!而麦司尼质数的型式与证明都合符合上述的要求. 四,无上荣耀! 运动选手为什麼不断追不更高,更快,更远呢 难道是希望他们在工作上可以使用这些技巧吗 不是吧,它们都是渴望竞争,为了荣耀(to win)!险峻的峭壁和高山峻岭对於喜欢攀岩,登山的人,有无法抗拒的魅力,数学的探索也是如此,看著无法想像巨大的数字竟是质数时那种心情是相同的,因此继续寻找下一个的渴望,岂是语言可以形容 人们当然需要务实,但是也需要好奇心和不断尝试的精神,才能而不断进步. 五,对电脑的考验! 当电脑的发明之后,人们可以藉由电脑的计算去找麦司尼质数,因为检验一个已知的质数都要经过十亿次以上的计算才会计算出来(以电脑来算当然很快),这时候就是测验电脑稳不稳定的好时机,Intel的Pentium处理器,就被Thomas Nicely在计算twin prime constant时,找到有bug存在. 六,了解质数分布的情形! 虽然数学不是实验的科学,但是在我们会用例子去检验我们的猜测,当例子愈来愈多时,我们也会更了解事实,而质数的分布情形这是如此,例如高斯在看过质数表之后猜测了质数定理(prime number theorem),这个定理在1896由哈达玛(Hadamard)及普辛(Pouusin)分别证得: 质数是自然数的一部份,有趣的是,它却与自然数的个数一样多,也有无穷多个.两千多年前,古希腊数学家就从理论上证明了这一点.不过,质数看上去要比自然数少的多.有人统计过,在1到1000之间,有168个质数;在之间,有135个质数;在之间,有127个质数;而在之间,就只有120个质数了,越往后,质数就会越稀少.那麼,怎样从自然数里把质数给找出来呢 公元前三世纪,古希腊数学家埃拉托塞尼(Eratosthenes)发明了一种很有趣的方法.埃拉托塞尼常把数表写在涂了白腊的木板上,遇到需要划去的数,就在那个数的位置刺一个孔;随著合数逐一被划掉,木板上变得千疮百孔,像是一个神奇的筛子,筛掉了合数,留下了质数.所以,人们将这种求质数的方法叫做&埃拉托塞尼筛法&. 1. 我们把1~100的自然数,按照顺序列成一张百数表.(如下表) 2. 首先把1划掉,因为1既不是质数,也不是合数. 3. 接下来一个数是2,它是最小的质数,应予保留.但2的倍数一定不是质数,应该全部划掉;也就是从2起,每隔1个数就划掉1个数. 4. 在剩下的数中,3是第一个未被划掉的数,它是个质数,应予保留.但3的倍数一定不是质数,应该全部划掉;也就是从3起,每隔2个数就划掉1个数. 5. 在剩下的数中,4已被划掉了,其余的数,5成为第一个未被划掉的数,它是质数,也应予以保留.但5的倍数一定不是质数,应该全部划掉;也就是从5起,每隔4个数就划掉1个数. 6.仿照步骤1~5,继续划下去,数表上最后剩下的就是1~100之间的质数了. 埃拉托塞尼筛法这种方法是世界上最古老的一种求质数的方法,它的原理很简单,运用起来也很方便.现在,凭著经过改进后的埃拉托塞尼筛法,数学家们已把10亿以内的质数全都筛出来了.怎样找质数呢 这个问题据说自希腊及中国周朝已有人在问这个难题了.下面是一些初步查询. 质数是无穷.这很早就证明了.因若 p1=2, p2=3, pn 是最初 n 个质数,则新数目 必由一个不等於 p1, p2, , pn 中任一个质数的新质数所除尽,故而 pn+1 存在了;且举例说, 但 30031=59 x 509 证明了 ,不必是质数. 考虑 f(n) 形式中是否有无限个质数存在或 f(p) 中是否有无限合成数存在呢 怎样证明 n 是一个质数呢 传统的「筛法」是将任一个数n的可能因子查证,简化后;只要过滤所有小於的质数即可以了.就是n若是合成数,必有一个小於的质因数.如 3,5,7,11,13,等等.目前零碎地查质数的方法固然有,但仍无一万全之方. 费马的猜测 17世纪时,有个法国律师叫费马(Fermat,),他非常喜欢数学,常常利用业余时间研究高深的数学问题,结果取得了很大的成就,被人称之为&业余数学家之王&.费马研究数学时,不喜欢搞证明,喜欢提问题;他凭藉丰富的想像力和深刻的洞察力,提出一系列重要的数学猜想,深刻地影响了数学的发展,他提出的&费马最后定理&,几百年来吸引了无数的数学家,直到1994年才由美国普林斯顿大学的怀尔斯得出证明. 他在西元1640年提出了一个公式:『 2+1』,他验算了n等於1到4的情况,发现都是质数以后(如下表),就直接猜测只要n是自然数,这个公式求出来的一定是质数.」 n 2+1 1 2+1=5(质数) 2 2+1=17(质数) 3 2+1=257(质数) 4 2+1=65537(质数) 1. 费马最喜欢的数学分支是数论,他曾深入研究过质数的性质,他发现了一个有趣的现象.计算 = 它是一个质数吗 . 2. 那 又是多少呢 它是一个质数吗 . 3. 再下去, 是多少呢 它是一个质数吗 . 4. 最后, 是多少呢 它是一个质数吗 解答: =5;它是质数. =17;它是质数. =257;它是质数. =65537;它是质数. 费马当年并没有继续算下去,他猜测说:只要n是自然数,由这个公式 得出的数一定都是质数;这是一个很有名的猜想,由於n=5之后演算起来很麻烦,很少有人去验证它. 1732年,大数学家欧拉认真研究了这个问题,它发现费马只要再往下演算一个自然数,就会发现由这个公式得出的数不全是质数. n=5时,==,可以分解为641×6700417,它不是质数.也就是说,费马的这个猜想不能成为一个求质数的公式.实际上几千年来,数学家们一直在寻找这样的一个公式,一个能求出所有质数的公式;但直到现在,谁也未能找到这样一个公式,而且谁也未能找到证据,说这样的公式就一定不存在;这样的公式存不存在,也就成了一个著名的数学难题. 费马在数学史上,是一位非常重要的人物,虽然费马的公式是错误的,但是数学家从另一个方向来寻找大质数,也就是之前讲完全数时提到的:『如果2-1是一个质数,那麼N=2(2-1)一定是个完全数.』於是,数学家们努力验算不同的 n值,也找出了一些质数,但是由於数字太大,当时又没有电脑的帮忙,所以很多结果都是错的.到了十七世纪,一位法国的天主教修士梅森尼提出了:在 n不大於257的情况下,共有十一个质数.虽然他的结果同样有不少错误,但是后人就把『2-1』这种形式的质数叫做『梅森尼质数』.」费马定理费马一心想要找出一个求质数的公式,结果未能成功.人们发现,倒是他无意提出的另一个猜想,对寻找质数很有用处. 费马猜测说;如果 是一个质数,那麼,对任何自然数n,( )一定能被 整除.这一回费马猜对了,这个猜想被人称作费马小定理.例如:11是质数,2是自然数,所以( )一定能被11整除. 利用费马定理,这是目前最有效的鉴定质数的方法.要判断一个数n是不是质数,首先看它能不能整除( ),如果不能整除,它一定是合数;如果能整除,它就&极可能&是质数.现在,在电子计算机上运用这种新方法,要鉴定一个上百位的数是不是质数,一般只要15秒钟就够了. 质数公式表 f(x)公式在100以下令f(x)成合成数的x值总数 x2-79+, 84, 89, 96 5 x2+x+41 40,41,44,49, 56, 65, 76,81,82,84,87,89,91,96 14 2x2+29 29, 30, 32, 35, 39,44, 50, 57, 58, 61,63, 65, 25 72,74,76, 84,87, 88, 89,91,92,94,95, 97, 99 6x2+6x+31 29, 30, 31, 34, 36,41,44, 51, 55, 59, 61, 62, 25 64,66, 69,76,80, 84, 86. 87, 88, 92, 93, 97, 99 3x2+3x+23 22,23,27, 30, 38,43, 44,45,46,49, 51, 55, 56, 59, 28 62,66,68, 69,70,78, 85, 87, 88, 89, 91,92,95,96 像质数公式 x2+x+41,我们能找到连续 40 个(由 0 到 39)的质数,有没有一条质数公式 f=x2+x+b,能使 (b-1) 个连续 x 值使 f(x) 都是质数呢 有人曾用电算机去找,结果查出如果有,则 b 值一定要超过 1,250,000,000,而且最多只有一个.看来这个问题大概解不了. 现在的数学家们在质数这个领域里,有两个重要的研究方向:一个是利用各种更有效率的筛法,不断地往更大的数里面去搜寻质数;另外就是寻找新的『梅森尼质数』.到西元1996年为止,数学家已经藉由电脑运算,知道1020以内有多少质数了;另一方面,在西元1999年六月,数学家也发现了第三十八个『梅森尼质数』: ,这同时也是到目前为止发现的最大质数!它是一个2098960位数.
相关知识略懂社热议
其他回答 (4)
素数就是质数
质数没有负数
相关知识略懂社热议等待您来回答
学习帮助领域专家
& &SOGOU - 京ICP证050897号10以内所有质数的和为的相关内容小于100且与100互质的所有自然数的和是多少 [题目] 小于100且与100互质的所有自然数的和是多少? 首先,将100分解质因数,得:100=2*2*5*5, 所以,和100互质的自然数不能是2或5的倍数...100以内质数表小窍门 五年级数学第二学期第二单元中在学到质数和合数后,书中给出了100以内质数表,用以学生能很快区分100以内的质数和合数,虽然大纲上不要求背诵,但是为了学生做题方便快捷,不容易出错,老师往往要求学生能背下来,但是25个数学生背起来很麻烦,而且总是10以内数加减运算的教学 1、明确概念 加法:是把两个数合并成一个数的运算,也就是由已知的两个数相加,求 和 ,即求总数。 减法:是已知两个数的 和 与其中的一个加数,求另一个加数的运算,也就是把总数减去部分数求另一个部分数的运算。 2、数的加减运算和数的组成之间的书写10以内的数字的教学 1、教学要求 (1)教幼儿掌握规范的数字结构。 (2)使幼儿掌握书写数字的笔顺,特别是起笔和落笔,如图: (3)教会幼儿正确的书写姿势和握笔方法,培养认真的书写态度。 2、教学方法(以直接教育为主) (1...认识10以内基数的教学 1、明确概念 基数(序数):任何一个自然数,都可以用来作基数,也可以用来作序数。当它用来表示集合中元素的数量时,称基数。如8个苹果。 数的形成:是指在自然数列中,除1以外的任何一个数,都是由它前面的一个数添上1形成的,或者由若干个单位1组成苏教版:一年级上册《10以内的加法和减法》教案 教学加法和减法的意义分四个阶段进行,帮助学生逐渐形成加法和减法的概念,初步体验加法与减法的内在联系。 教学加法和减法,首先要教学运算...大班数学:认识10以内的单双数 一、活动目标: 1、通过创设情境、游戏化的教学,让幼儿在操作中理解并区分10以内的单双数; 2、培养幼儿从身边事物中发现单双数的能力; 3、激发幼儿对单双...
精品专题-  -  - -  -  - -  -  - -  -  - -  -  - -  -  - -  -  - -  -  - -  -  -
英语学习- -  -  - -  -  - -  -  - - -  -  - -  -  - -  -  - - -  -  -
数学学习-  - - -
 - - - - - - - -}

我要回帖

更多关于 1是不是质数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信