A类综合习题1.一种计算机病毒叫黑色星期五,如果当天是13号,又恰好是星期五,就会发作起来毁球计算机的存储系统,试编程找出九十年代中这种病毒可能发作的日期。
2.任意给定一个自然数N,要求M是N的倍数,且它的所有各位数字都是由0或1组成,并要求M尽可能小。
例:N=3―――>M=3*37=111,N=31―――>M=31*3581=1110113.合下面条件的5个正整数:(1)5个数之和为23;(2)从这5个数中选取不同的数作加法,可得1-23中的所有自然数,打印这5个数及选取数组成的1--23的加法式。
4.将数字65535分解成若干个素数之积。
5.由1..9这九个数字组成的九位数(无重复数字)能被11整除,求最大、最小值。
6.某次智力测验,二等奖获得者共三人,以下奖品每人发给两样:①钢笔②集邮本③影集④日记本⑤圆珠笔⑥象棋打印各种分配方案及总分配数。
7.个同样种类的零件,已知其中有一个是次品,比正品较轻,仅限用天平称4次,把次品找出来,要求打印每次称量过程。
8.输入N个数字(0-9),然后统计出这组数中相邻两数字组成的数字对出现的次数。
如:0,1,5,9,8,7,2,2,2,3,2,7,8,7,9,6,5,9中可得到:(7,8)数字对出现次数2次,(8,7)数字对出现次数为3次。
9.由M个数字构成一个圆,找出四个相邻的数,使其和为最大、最小。
10.输一个十进制数,将其转换成N进制数(0<N<=16)。
11.读入N,S两个自然数(0<=S,N<=9),打印相应的数字三角形(其中,S表示确定三角形的第一个数,N表示确定三角形的行数)。
例:当N=4,S=3时打印:当N=4。
S=4时打印:3{首位数为奇数} {首位数为偶数} 44 5 &nb sp; 6 56 7 8 9 8 79 1 2 3 4 3 2 112.如图所示的9*9的矩阵中,除了10个格是空的外,其余的都填上了字符"*",这10个空的格子组成了一个五角星图案的10个交叉点。
下矩阵为输入(1,5)时的输出* * * * * * * * * * * * 0 * * * ** * * * * * * * * * * * * * * * * ** * * * * 4 * * 7 * 3 * * 6* * * * * * * * * * * * * * * * * ** * * * * * * * * 1 * * * 9 * ** * * * * * * * * * * * * * * * * ** * * * * * * * * * * * 5 * * * ** * * * * * * * * * * * * * * * * ** * * * * * * * 8 * * * * * 2 *编写程序,由键盘输入这10个点中的任一个(如:输入(1,5)是指五角星顶上的那个点),则计算机从这个点开始,给这10个点依次正确赋值(0.1.2……9)最后打印出这个矩阵。
正确的赋值规则如下;1)D=02)将D的值填入当前的点;3)如果D<9则D=D+1,否则结束;4)由当前的点沿五角星边的直线(不能打折),跨过另一个点(可以是已填上数字的点),到达未被填上数的第三个点,此时这个点成为当前点,返回2。
13.从0-9之间取N个数字,组成每位数不重复的所有可能的N位数,按从小到大的顺序进行编号,当输入其中的任何一个数M时,能打出该数对的编号。
如:当N=3,M=132时,则输出:[123(1),132(2),213(3),231(4),312(5),321(6)]―――>X=214.在6*6的方格中,放入24个相同的小球,每格中放一个,要求每行,每列中都有4个球(不考虑对角线),编程输出结果。
15.在已知数列中(长度为N),相邻若干数之和能被11整除的有多少组,分别打印出来,表现形式为从哪个数到哪一个数来描述一种组合。
例:在数列1,4,8,10,16,19,21,25,30,43中,有:(4,8,10)=22,(10,16,19,21)=66,即为其中两种组合。
16.将1-9这九个数字,如下图排成一个环,请在某两个数字之间剪开,分别按顺时针和逆时针次序排列形成两个九位数,要求剪开后所得到的两个九位数的差能被396整除,共有几组剪法?91 37 45 28 617.从键盘输入一个自然数N,然后将1-3N+2的自然数填入下图,使得用线段相连的两数之差的绝对值能产生数列1,2,…3N+2...18.给定一串整数数列,求出所有的递增和递减子序列的数目和转换元素。
如:数列7,2,6,9,8,3,5,2,1可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)五个序列,称2,9,3,5转换元素。
19.输入N个学生的学号和一门功课的成绩:①求出高于平均分的人数,并打印这些人的学号和成绩。
②按从高到低的顺序,列出学号和成绩(要求能够处理同名次)。
③统计各分数段的人数:60分以下的一段,60分以上则每隔5分为一段,95分以上为最后一段。
用直方图形式打印输出。
20.猴子选大王:①N只猴子站成一行,每隔M只从头到尾报数,报到的退出,打印每次过程,直剩下一只为止。
②N只猴子站成一行,每隔M只报数。
先从头到尾,报到尾后,再返回从尾到头报数,打印每次方向及过程,直到剩下二只时,以排在后面的(指报数方向)为大王。
③N只猴子围成一圈,从P个开始,每隔M只报数,打印每次过程,只剩下一个时为大王。
21.将M * N的矩阵,转置为N * M的矩阵输出。
22.1,2,4,7,……是二阶等差级数,因为它们后项减前项的差均组成等差级数1,2,3,……。
找出5个组,每组4个相邻的素数,其中每一组都构成二阶等差级数的4个相邻的项。
23.矩阵中填数,当给出N * N的矩阵,要求用程序填入下列形式的数:①倒数,例如n=5(a) ②蛇形填数③回转填数25 24 23 22 22120 19 18 17 1615 14 13 12 1110 9 8 7 65 4 3 211 2 3 4 52 5 9 12 196 8 13 18 207 14 17 21 2415 16 22 23 251 16 15 14 132 17 24 23 123 18 25 22 114 19 20 21 105 6 7 8 924.因式分解:对一个数进行因式分解。
如12=2 * 2 * 3=4 * 3=6 * 225.用1,2,3,……9九个数(不能重复),组成下列式子:( )×( ) -( )=96÷( )( ) +( ) =( )求出各种可能方案。
26.已知:有正整数K1+K2……Kn=M要求:找出一组最佳的分解,使得K1 * K2 *……* Kn为最大。
例如:N=2时,有K1+K2=6则当K1=3,K2=3时,K1 * K2=9为最大。
∴K1=3,K2=3为最佳分解输入N,M,求最佳分解。
27.打出所有满足条年的三位数的素数。
条件是:它们的序数、数码和、数码积或是素数、或是1、或是0。
例如:113是素数,逆序数311也是素数,数码和是5,积是3,都是素数。
所以113是满足条件的三位数。
28.九宫图的特点是横、竖、对角上的数字之和相等,双称为幻方。
请编写程序,调整九宫图中的数字,使得横、竖、对角上的数字之和都不相等(称为反幻方)。
程序要求:输出所有调整方案。
29.在一个矩阵(N×N)中,若上三角中的元素全为零,如下图所示:为了节省空间,可用一个一维数组来表示这个矩阵。
如下图可表示为:(123304)1 0 02 3 03 0 4在此种方式下,编程完成两个矩阵的加法与乘法。
30.将1,2,3,……20共20个数字排成一排,使相邻两个数字之和为素数,并且头尾两数之和也为素数。
求出所有满足条件的排列。
31.设A1,A2……An为1,2,…N的一个排列,记BI为这个排列中位于I左边但大于I的数字的个数(I=1,2,……n),则B1,B2,…Bn称为排列A1,A2,…An的反序表。
32.读入N个字母的字,判断该字是否回文。
33.有N组数据,每组中有M个字串,找出所有符合下列条件的字串S,条件是:在每一组中,字串S都是其M个字串之一。
键盘输入N,M的值及名字串。
34.读入一字串(长度不大于50),删去字串中相同的字符。
35.输入十个字符串,长度在20--50之间。
检查每个字串,若遇到字母A,就在其后插入一个空格,最后打印全部处理后的字串,并统计26个安母各出现多少次。
36.接收一个任意长度的字串(小于100个字符),将该字符串中的字符按照ASCII码表从小到大的顺序重新排列形成一个新的字符串并打印出来。
37.有一段文字由若干字母组成。
检查文字中每个字母出现的次数,输出时,按字母出现频率的降序排列,并按以下格式打印(不含未出现字母):字母频率百分比%-- -- ---- -- --38.读入一行文本,包含若干个单词(以空格间隔,%结尾)。
将其中以A开头的单词与以N结尾的单词,用头尾交换的办法予以置换。
39.求出一个子串的字符串中的位置。
40.在若干个字符串中,找出一个长度最长的共子串。
41.从键盘上读入一个字符串(称为原串),其长度不超过50个字符,并以字符′$′作为结束符。
当原串读入后,对原串进行编辑,其功能有(菜单选择):①在原串中指定的字符前面插入若干个字符(子串)。
若在原串中有若干个指定的字符,则插入在第一个指字符的前面。
例:原串′abcd dby′在指定字符′b′的前面插入′uwv′,此时字符串为′auwvbc dby′②在原串中,删除指定的子串,若原串中有多个相同的子串,则删除最后一个子串。
例:原串′abxyzw cdxyzh,uvxxyzh′删除子串′xyz′,则删除后得到:′abxyzw cdxyzh,uvxh′③替换操作:在原串中,将某个子串用新的子串去替换。
若原串中有多个被替换的子串,则应全部替换(但不递归替换)。
例:原串′abxyz ddxyzxyzhe′将原串的′xyz′用′uvw′替换,替换后成为:′abuvw dduvwuvwhe′42.′Dos′被换为良序字串,因为它之中的字母是按ASCII码的顺序排列的,而′DATE′则不是良序字串。
现要求给出一个N×N的字母方阵,从中选出给定长度M的良序字串。
43.有一集合中有N个元素,每个元素均为自然数。
给定一个total(假定每个元素均小于total),求:满足条件的所有子集,子集中各元素之和应等于total.。
44.一个集合有如下元素:1是集合元素;若P是集合的元素,则2 * P+1,4 * P+5也是集合的元素。
求:此集合中最小的K个元素。