1数组一、数字数组ex1_1_1.pas级数求和(NOIP2002)【题目描述】已知:Sn=1+1/2+1/3+…+1/n。显然对于任意一个数K,当n.足够大的时候,Sn大于K。现给出一个整数K(1≤K≤15),要求计算出一个最小的n,使得SnK【输入】一行,一个整数K【输出】一行,一个整数n【输入样例】1【输出样例】2ex1_1_2.pas陶陶摘苹果(NOIP2005)【题目描述】陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。【输入】两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。【输出】一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。【输入样例】100200150140129134167198200111110【输出样例】5ex1_1_3.pas数字统计(NOIP2010)【题目描述】请统计某个给定范围[L,R]的所有整数中,数字2出现的次数。比如给定范围[2,22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。【输入】共1行,为两个正整数L和R,之间用一个空格隔开。【输出】共1行,表示数字2出现的次数。2【输入样例】222【输出样例】6【输入输出样例2】2100【输出】20【数据范围】1≤L≤R≤10000。ex1_1_4.pas狐狸追兔子【题目描述】围绕着山顶有m个洞(m=100),一只狐狸和一只兔子住在各自的洞里。狐狸总想吃掉兔子。一天,兔子对狐狸说:“你想吃我有一个条件,先把洞从1~m编上号,你从m号洞出发,先到一号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依次类推,次数不限。若能找到我,你就可以饱餐一顿。不过在没有找我以前不能停下来。”狐狸满口答应就开始找了,它从早到晚进了n次洞(1=n=1000),累得昏了过去也没有找到兔子。请问,兔子躲在几号洞里?【输入】一行,洞的个数m,狐狸进洞的次数n【输出】一行,兔子躲的洞的号数,由小到大输出,各数中间用空格隔开【输入样例】102【输出样例】245678910ex1_1_5.pas不高兴的津津(NOIP2004)【题目描述】津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。【输入】包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。【输出】一行,这一行只包含一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。【输入样例】53627253540406【输出样例】33ex1_1_6.pas多项式输出(NOIP2009)【题目描述】一元n次多项式可用如下的表达式表示:其中,aixi称为i次项,ai称为i次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:1.多项式中自变量为x,从左到右按照次数递减顺序给出多项式。2.多项式中只包含系数不为0的项。3.如果多项式n次项系数为正,则多项式开头不出现“+”号,如果多项式n次项系数为负,则多项式以“-”号开头。4.对于不是最高次的项,以“+”号或者“-”号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于0次的项,其系数的绝对值为1,则无需输出1)。如果x的指数大于1,则接下来紧跟的指数部分的形式为“x^b”,其中b为x的指数;如果x的指数为1,则接下来紧跟的指数部分形式为“x”;如果x的指数为0,则仅需输出系数即可。5.多项式中,多项式的开头、结尾不含多余的空格。【输入】共有2行第一行1个整数,n,表示一元多项式的次数。第二行有n+1个整数,其中第i个整数表示第n-i+1次项的系数,每两个整数之间用空格隔开。【输出】共1行,按题目所述格式输出多项式。【输入样例】5100-11-3010【输出样例】100x^5-x^4+x^3-3x^2+10【输入输出样例2】3-50001【输出】-50x^3+1【数据范围】1≤n≤100,多项式各次项系数的绝对值均不超过100。二、字符数组定义:String等价于array[0..255]ofchar,其中第0号但有存放的是实际长度。Ansistring长度不限。常用操作Length(st)求st的长度Copy(st,m,n)从st的第m个位置开始复制n个字符Delete(st,m,n)删除st的第m个位置开始的n个字符4Val(st,x,code)将字符串st转化为数字x,若能成功转化,则code=0;若不能,code返回第一个非法字符的位置。注:当st只有一个字符时,code返回的数值不准,建议少用code判断位置。Str(x,st)将数字x转化为字符串st将单个字符c转化为数字x:x:=ord(c)-48;将单个数字x转化为字符c:c:=chr(x);将字符串倒序存放在a数组中:A[0]:=length(st);Fori:=1toa[0]doA[i]:=ord(st[a[0]-i+1])-48;ex1_2_1.pasISBN号码(NOIP2008)【题目描述】每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语音,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符之后的五位数字代表该书在该出版社的编号;最后一位为识别码。识别吗的计算方法如下:首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN码0-670-82162-4中的识别码4是这样得到的:对0670082162这9个数字,从左至右,分别乘以1,2,…9,再求和,即0×1+6×2+……+2×9=158,然后取158mod11的结果4作为识别码/你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码.【输入】只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码.的格式要求)。【输出】一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。【输入样例】0-670-82162-4【输出样例】Right【输入输出洋例2】0-670-82162-0【输出】0-670-82162-4ex1_2_2.pas数字反转(NOIP2011)【题目描述】给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。【输入】输入共1行,一个整数N。【输出】输出共1行,一个整数,表示反转后的新数。【输入样例】1235【输出样例】321【输入输出样例2】输入:-380输出:-83【数据范围】-1,000,000,000≤N≤1,000,000,000ex1_2_3.pas乒乓球(noip2003)【题目描述】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。如果一局比赛刚开始,则此时比分为0比0。你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。【输入】每个输入包含若干行字符串(每行至多20个字母),字符串有大写的W、L和E组成。其中E表示比赛信息结束,程序应该忽略E之后的所有内容。【输出】输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔。【输入样例】【输出样例】11:011:01:121:02:1ex1_2_4.pas统计单词数(NOIP2011)【题目描述】6一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。【输入】2行:第1行为一个字符串,其中只含字母,表示给定单词;第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。【输出】只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从0开始);如果单词在文章中没有出现,则直接输出一个整数-1。【输入样例】Totobeornottobeisaquestion【输出样例】20【输入输出样例1说明】输出结果表示给定的单词To在文章中出现两次,第一次出现的位置为0。【提示】【输入输出样例2】输入:toDidtheOttomanEmpireloseitspoweratthattime输出:-1【输入输出样例2说明】表示给定的单词to在文章中没有出现,输出整数-1。【数据范围】1≤单词长度≤10。1≤文章长度≤1,000,000。ex1_2_5.pas计算器的改良(NOIP2000)【题目描述】NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究