PASCAL提高教程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PASCAL 提高教程 第一讲 素数及其应用 一、什么是素数 素数,也叫质数,例如:2、3、5、7、11、13 等等。素数是这样定义的:若正整数p 恰好 只有 1及本身p 两个正因数,则p 称为素数。若正整数p 有多于两个正因数,则p 称为合数。 依定义,全体正整数按其正因数的多少可分成三类: 1、只有一个正因数; 2、全体素数:只有两个正因数; 3、全体合数:有多于两个的正因数。 所以1既不是素数,也不是合数。 二、素数的求法 1、根据定义的常规求法: 如果要判断数p 是否是素数,可将2 到p-1之间的数与p 进行试除,只要p 除以其中某个数 k 的余数为0,那么说明k 是p 的另一个因数,因此p 不是素数;反之,如果2 到p-1之间 所有的数都不能被p 整除,那么可以判断p 是一个素数。 程序: Program Lt1_1; Begin Write(p ); ReadLn(p); Fork : 2top-1do Ifp modk 0Then Begin WriteLn(p,isnot aprimenumber !); Halt; End; WriteLn(p,isaprimenumber !); End. 2、一种改进的快速方法-筛法 给定正整数p 后,我们可以提供一种可以求不大于p 的所有的素数的方法。 假定p 50,将2 到50之间的整数按顺序排列如下: 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 依次划去2、3、5、7 的倍数,数表中没有被划去的数即为不大于50 的素数。 程序: Program Lt1_2; Constp 50; Var a :Array[1..p]ofBoolean; i,j,k :Integer; Begin Fillchar(a,Sizeof(a),True); For i : 2toTrunc(Sqrt(p)) do Ifa[i]Then Forj : 2top div ido a[i*j] : False; For i : 2top do Ifa[i]ThenWrite(i:5); End. 三、应用举例 1.从小到大找出5个素数,使后面的数比前面的数都大12.(答案:5,17,29,41,53) 2.哥德巴赫猜想:任何大于2 的偶数,都可以写成两个素数的和的形式,例如:18 5+13。 满足条件的表达式不一定是唯一的,例如:10 3+7 5+5 7+3。其中我们将3+7 与7+3两种 写法认为是重复的,因此 10有2 种不重复的分解方法。请你编一个程序,对于键盘输入的 一个大于2 小于1000 的偶数,输出所有满足要求的不重复的表达式。 3.分解质因数:任意一个合数,均可唯一表示为素数的乘积,例如:6 2*3,100 2*2*5*5。 现在由键盘输入一个不超过5000 的合数p,请编一个程序,将p 表示成为素数的乘积的形 式。 4. “漂亮数”:一个自然数,若它的质因数至少是两重的 (相同质因数的个数至少两个,如 36 22*3 2),则称该数为 “漂亮数”,请编程序找出100 以内的 “漂亮数”。 第二讲 字符串及其应用 字符串是TurboPascal 中有效的,应用广泛的数据类型,下面我们将通过例题学习关于字符串 的一些标准过程和函数. 常用的字符串标准函数和过程 〖例3.1〗编一个程序,从键盘上输入一个算术表达式,判别该表达式中,左圆括号与右圆括号 是否正确配对,如正确,打印YES,否则打印NO. ①由于算术表达式中可以包含有数字,运算符,括号等,所以可以将它们作为字符串看待,用一 个字符串变量来存储.同时,可以将字符串当成一个一维的字符型数组进行处理. ②算术表达式中括号匹配的检测方法:设一个计数器T为0,将表达式串从向右扫描,当遇到左 括号(时将T 加1,遇到右括号时将T 减 1,直到结束,若期间T 小于0 或扫描结束后T 不为0, 都表明

文档评论(0)

nuvem + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档