模拟测试_汇总试题.doc_第1页
模拟测试_汇总试题.doc_第2页
模拟测试_汇总试题.doc_第3页
模拟测试_汇总试题.doc_第4页
模拟测试_汇总试题.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1_1、世纪末的星期(5分)曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会.有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一! 于是,“谣言制造商”又修改为星期日.1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?请给出表示该年份的4位整数。1_2、2014幸运字母(5分)把abcd.zABCDL共38个字母组成的序列重复拼接53次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。注:答案是一个小写字母。2_1、切面条(6分)一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折9次,中间切一刀,会得到多少面条呢?答案是个整数。2_2、巧排数字(6分)将1、2、20这20个数排成一排,使得相邻的两个数之和为一个素数,且首尾两数字之和也为一个素数。请求出所有的排法,答案是个整数。3_1、请你帮助小明算一算40!(符号“!”表示阶乘)(8分)答案是个整数。3_2、凑一百(8分)在1 2 3 4 5 6 7 8 9 九个数字中插入“+”或“-”符号使得结果为100,编程实现所有的组合。注:数字的顺序不能改变。如: 123 - 45 - 67 + 89 = 100123456789 = 100答案是个整数。4_1、神秘的三位数(C+,4分)有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!下面的程序用于搜索这样的3位数。请补全缺失的代码。int JC = 1,1,2,6,24,120,720,5040,40320,362880;int i;for(i=100; i1000; i+)int sum = 0;int x = i;while( ) /填空sum += JCx%10;x /= 10;if(i=sum)printf(%dn, i);4_2、大衍数列(Java,4分) 中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是:0、2、4、8、12、18、24、32、40、50 . 其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。 以下的代码打印出了大衍数列的前 100 项。for(int i=1; i=0; n-)int i = 2 * n + 1;x = 2 + (i*i / x);System.out.println(String.format(%.4f, );5_1、中奖计算(C+,8分)某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码。最后通过摇奖的办法随机产生一个8位数字。参与者写下的数字中最多有多少个连续位与开奖号码中的相同,则称为中了几个号。例如:小张写的数字是:12345678,而开奖号码是:42347856。则称小张中了3个号,因为其中最长的相同连续位是:“234”。如果小张写的是:87654321,则他只中了一个号。下面的代码根据传入的参数,返回中了几个号。其中:a表示被评价的号码,b表示摇号产生的数字。请填写缺少的代码。int g(int a, int b)char sa=00000000;char sb=00000000;int n = 0;int i,j;sprintf(sa,%8d,a);sprintf(sb,%8d,b);for(i=0; i8; i+)for(j=1; jn) ;/填空sai+j = t;return n;5_2、数制转换(Java,8分)下列代码把16进制表示的串转换为3进制表示的串。试完善之。例如:x=“5”则返回:“12”又例如:x=”F”则返回:“120”private static int getRealValue(char x)if(x=0 & x=a & x=A & x=F) return x-A+10;return 0;public static String jin_zhi_16_3(String x)int n = 0; / 累加真值for(int i=0; ix.length(); i+)n =+ getRealValue(x.charAt(i); /填空String t = ;for(;)if(n=0) break;t = (n % 3) + t; ; / 填空return t;6_1、奇怪的算式(10分)福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把 ABCDE 所代表的数字写出来。注意:答案是个整数6_2、奇怪的分式(10分)上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是19 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1乘以 5/8 是满足要求的,这算做不同的算式。但对于分子分母相同的情况,2/2乘以 3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。7、棋盘放棋子(10分)今有 6 x 6 的棋盘格。其中某些格子已经预先放好了棋子。现在要再放上去一些,使得:每行每列都正好有3颗棋子。我们希望推算出所有可能的放法。注意:答案是个整数(考虑对称性,肯定是偶数)。8_1、蚂蚁感冒(10分)长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】第一行输入一个整数n(1 n 50), 表示蚂蚁的总数。接着的一行是n个用空格分开的整数Xi (-100 Xi 100), Xi的绝对值,表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。其中,第一个数据代表的蚂蚁感冒了。要求输出1个整数,表示最后感冒蚂蚁的数目。例如,输入:35 -2 8程序应输出:1再例如,输入:5-10 8 -20 12 25程序应输出:3资源约定:峰值内存消耗 256MCPU消耗 1000ms。_2、一元多项式加法(10分)实现两个整系数一元多项式的加法。例如, 对于多项式5*X64*X37*X41 与多项式 50*X24*X, 运算结果为:5*X67*X44*X350*X24*X1。程序要求:键盘输入多项式的各项系数及指数,每项系数及指数为一组数据(系数及指数之一可为零),以0,0结束一个多项式的输入,结果按降幂排列,同类项要合并(指数最大不超过30)。例如,若输入为: 5,64,3-7,41,00,0,412,4,10,0输出结果应为:5*x6-*x4+4*x3+12*x2+4*x+1.9_1、Playfair密码变种加密方法(15分)一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1) 首先按行填入密钥串。2) 紧接其后,按字母序按行填入不在密钥串中的字母。3) 由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥为youandme,则该方阵如下: y o u a nd m e b cf g h i jk l p q rs t v w x在加密一对字母时,如am,在方阵中找到以这两个字母为顶点的矩形(红色字体):y o u a nd m e b cf g h i jk l p q rs t v w x这对字母的加密字母为该矩形的另一对顶点,如本例中为ob。请设计程序,使用上述方法对输入串进行加密,并输出加密后的串。另外有如下规定:1) 一对一对取字母,如果最后只剩下一个字母,则不变换,直接放入加密串中;2) 如果一对字母中的两个字母相同,则不变换,直接放入加密串中;3) 如果一对字母中有一个字母不在正方形中,则不变换,直接放入加密串中;4) 如果字母对出现在方阵中的同一行或同一列,如df或hi,则只需简单对调这两个字母,即变换为fd或ih;5) 如果在正方形中能够找到以字母对为顶点的矩形,假如字母对为am,则该矩形的另一对顶点字母中,与a同行的字母应在前面,在上例中应是ob;同样若待变换的字母对为ta,则变换后的字母对应为wo;6) 本程序中输入串均为小写字母,并不含标点、空格或其它字符。解密方法与加密相同,即对加密后的字符串再加密,将得到原始串。要求输入形式如下:从控制台输入两行字符串,第一行为密钥单词(长度小于等于25),第二行为待加密字符串(长度小于等于50),两行字符串末尾都有一个回车换行符,并且两行字符串均为小写字母,不含其它字符。在标准输出上输出加密后的字符串。例如,若输入:youandmewelcometohangzhou则表示输入的密钥单词为youandme,形成的正方形如上所示;待加密字符串为welcometohangzhou。在正方形中可以找到以第一对字母we为顶点的矩形,对应另一对顶点字母为vb,因此加密后为vb,同理可找到与字母对lc,et,oh,ho对应的顶点字母对。而字母对om位于上述正方形中的同一列,所以直接以颠倒这两个字母来加密,即为mo,字母对an同理。字母对gz中的z不在上述正方形中,因此原样放到加密串中。最后剩一个字母u也原样输出。因此输出的结果为:Vbrmmomvugnagzguu9_2、最小公倍数(15分)为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多。事实上,它是1至6的每个数字的倍数。即1,2,3,4,5,6都是可以除尽60。我们希望寻找到能除尽1至n的的每个数字的最小整数。不要小看这个数字,它可能十分大,比如n=100, 则该数为:69720375229712477164533808935312303556800请编写程序,实现对用户输入的 n (n100)求出1n的最小公倍数。例如:用户输入:6程序输出:60用户输入:10程序输出:252010、矩阵翻硬币(24分)小明先把硬币摆成了一个 n 行 m 列的矩阵。随后,小明对每一个硬币分别进行一次 Q 操作。对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹所有硬币均为正面朝上。小明想知道最开始有多少枚硬币是反面朝上的。于是,他向他的好朋友小M寻求帮助。聪明的小M告诉小明,只需要对所有硬币再进行一次Q操作,即可恢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论