- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题1302:【入门】挛生素数.ppt
题1302:【入门】挛生素数 5-4 质数中,大小之差不超过2的两个质数称为一对孪生质数,如2和3,3和5,请你统计一下在不大于自然数n(n=106)的质数中,孪生质数的对数。 * * Description 我们定义,如果a和a+2都是素数(如5和7),那么我们就称a和a+2是一对挛生素数。请写一个程序找出2-N之间的所有挛生素数。 Input 一个整数N( 2 N 1000 )。 Output 若干行,每行两个整数,即一对挛生素数。 Sample Input 10 Sample Output 3 5 5 7 10 2 4 5 6 7 8 9 10 i i+2 Description 我们定义,如果a和a+2都是素数(如5和7),那么我们就称a和a+2是一对挛生素数。请写一个程序找出2-N之间的所有挛生素数。 Input 一个整数N( 2 N 1000 )。 Output 若干行,每行两个整数,即一对挛生素数。 比较 program ex5_4; const maxn=1000000; var n,i,sum:longint; function pd(x:longint):boolean; var i:longint; begin i:=2; while (x mod i0) and (ix) do inc(i); if i=x then pd:=true else pd:=false; end; begin sum:=1;{2与3是一对特殊的} for i:=2 to maxn-2 do if pd(i) and pd(i+2) then inc(sum); writeln(sum); end. 时间复杂度 算法 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。一个算法花费的时间与算法中语句的执行次数成正比例。 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n)) 按数量级递增排列,常见的时间复杂度有: 常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n^3),..., program ex5_4; const maxn=1000000; var n,i,sum:longint; function pd(x:longint):boolean; var i:longint; begin i:=2; while (x mod i0) and (ix) do inc(i); if i=x then pd:=true else pd:=false; end; begin sum:=1;{2与3是一对特殊的} for i:=2 to maxn-2 do if pd(i) and pd(i+2) then inc(sum); writeln(sum); end. 时间复杂度 If 语句n次 接近n n2 (106)2 program ex5_4; const maxn=1000000; var n,i,sum:longint; a:array[1..maxn] of boolean; procedure work; var i,ii:longint; begin for i:=1 to maxn do a[i]:=true; a[1]:=false; for i:=2 to trunc(sqrt(maxn)) do if a[i]=true then begin ii:=i+i; while ii=maxn do begin a[ii]:=false; ii:=ii+i; end; end; end; begin work; sum:=1; for i:=1 to maxn-2 do if (a[i]=true) and (a[i+2]=true) then inc(sum); writeln(sum); end. a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] a[11] a[12] a[13] a[14] a[15] a[16] a[17] a[18] a[19] a[20] 筛选法求素数 写出求两个正整数m和n的最大公约数的函数。 辗转相除法 4 8 14566 1234
文档评论(0)