资源描述:
《NOIP2017年普及组复赛模拟测试题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、NOIP2017年普及组复赛模拟测试题1、最频繁的字母。小明是-名翻译,每天都要看许多令人头疼的英文。他无聊旳会想-些很奇怪的问题,例如英文单词是如何组成的,它们有什么来源等等。有一天他突然想,到底哪个英文字母在英文单词中出现的频率最高呢?他发现解决这个问题的工作量还是很大的,于是找到了你帮助他解决这个问题。他会提供你一个仅由26个小写字母(a-z)组成的字符串s(中间不含空格),请你计算-下这字符串s中哪个字田出现的次数最多,如果说出现次数最多的字母不止一个,那么请把它们都打印出来,按照字母表的顺序输出((abcdef...xyz),
2、也就是按照这些字毋的ASCII由小到大输出出来。每组数据都只有一行,就是题目中所描述的字符串s,它的长度不会超过200。你也只需输出一行,即出现次数最多的字母。(如果很多,就按字毋表序输出。)【样例输入1】abaca【样例输出1】a(解释:因为a出现了3次,而b和c都只出现了1次。)【样例输入2】msmcatac【样例输出2】(解释:由于m,c,a都出现了2次,因此只要把m,c,a按照字母表的顺序输出即可。)输入文件:zimu.in,输出文件:zimu.out,源程序文件:zimu.c/cpp工作目录:d:examzimu2、数的计
3、数。我们要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(n<1000),然后对此自然数按照如下方法进行处理:(1)不作任何处理;(2)在它的左边加上一个自然数,但该自然数不能超过原数的—半;(3)加上数后,继续按此规则进行处理,直到不能再加自然数为止。样例,输入:6输出:6即满足条件的数有6个(以下部分不必输出)。61626126输入文件:num.in,输出文件:num.out,源程序文件:num.c/cpp工作目录:d:examum3、校验身份证号码[问题描述]每一个人自出生后都会有一个身份证号码。根据
4、我国有关部门规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。居民身份证是国家法定的证明公民个人身份的有效证件。例如:对于身份证号码330719196804253671,其中330719表示地址码,19680425表示出生日期码,367表示顺序码,最后一个1表示数字校验码。数字校验码的计算方法:(1)将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9
5、-10-5-8-4-2o(2)将这17位数字和系数相乘的结果相加。(3)用加出来的和除以11,看余数是多少?⑷余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2o(5)通过上面得知如果余数是3,就会在身份证的第18位数字上出现的是90如果对应的数字是2,身份证的最后一位号码就是罗马数字X。例如:某人的身份证号码为[53010219200508011X],我们看看这个身份证是不是合法的身份证。首先我们得出前17位的乘积和[(5*7)+(3*9)
6、+(0*10)+(1*5)+(0*8)+(2*4)+(1*2)+(9*1)+(2*6)+(0*3)+(0*7)+(5*9)+(0*10)+(8*5)+(0*8)+(1*4)+(1*2)]是189,然后用189除以11得出的结果是189/11=17----2,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的检验码是X。所以,可以判定这是一个正确的身份证号码。你的任务是编写程序判断输入的身份证号码中数字校验码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的身份证号码。输入文件:check,in,输出文件:
7、check,out,源程序文件:check,c/cpp工作目录:d:cxamchcck4、安全疏散在设计奥林匹克运动场馆时,必须考虑到人员的安全疏散冋题。经测算,每个观看竞赛的观众,走出大门的时间约为3到5秒,同时走出一个大门的观众最多可达5人。对于一个可容纳一万二千人的运动场馆,要求在规定的时间n秒内,观众全部得到安全疏散,则该场馆至少应该设计多少个疏散出口?输入文件:safe,in,输出文件:safe,out,源程序文件:safe,c/cpp工作目录:d:examsafe