资源描述
本题库来源:大榕树论坛www.mydrs.org 入门习题一百道。
字符串处理
1.读入N个字母的字,判断该字是否回文。
2.有N组数据,每组中有M个字串,找出所有符合下列条件的字串S,条件是:在每一组中,字串S都是其M个字串之一。
3.读入一个字串(长度不大于50),删去字串中相同的字符。
4.输入十个字符串,长度在20….50之间。检查每个字串,若遇到字母A,就在其后插一个空格,最后打印全部处理后的字串,并统计26个字母各出现多少次。
5.接受一个任意长度的字串(小于100个字符),将该字符串中的字符按照ASCII码表从小到大的顺序重新排列成一个新的字符串并打印出来。
6.有一段文字由若干字母组成。检查文字中每个字母出现的次数,输出时,按字母出现频率的降序排序,并按以下格式打印(不含未出现字母):
字母 频率 百分比%
x x x
7.读入一行文本,包含若干个单词(以空格间隔,以%j结尾)。将其中以A开头的单词与以N结尾的单词,用头尾交换的方法予以置换。
8.求出一个子串在字符串中的位置。
9.在若干个字符串中,找出一个长度最长的公共字串。
10.’DOS’称为良序子串,因为他之中的字母是按ASCII码的顺序排列的,而’DATA’则不是良序字符。
先要求给出一个N*N的字母方阵,从中选出给定长度M的良序字符。
11.从键盘上读入一个字符串(称为原串),其长度不超过50个字符,并以字符 ’$’ 作为结束符。
当原串读入后,对原串进行编辑,其功能有(菜单选择):
① 在原串中制定的字符前面插入若干个字符(字串)。若在原串中有若干个指定的字符,则插入在第一个指定字符的前面。
例: 原串 ‘abcd dby’
在指定字符 ‘b’ 的前面插入 ‘umv’ ,此时字符串成为 ‘auwvbc dby’
② 在原串中,删除指定的子串,若原串中有多个相同的子串,则删除最后一个子串。
例: 原串 ‘abxyzw cdxyzh,uvxxyzh’
删除子串’xyz’后得到:
‘abxyzw cdxyzh,uvxh’
③ 替换操作:在原串中,将某个子串用新的子串去替换。若原串中有多个被替换的子串,则应全部替换(但不递归替换)。
例: 原串 ‘abxyz ddxyzxyzhe’
将原串的’xyz’用’uvw’替换,替换后成为:
‘abuvw dduvwuvwhe’
数值计算
12.因式分解:对一个数进行因式分解。如:12= 2*2*3= 4*3 =6*2
13.任意给定一个自然数N,寻找一个M,要求M是N的倍数,且它的所有各位数字都是由0或1组成,并要求M尽可能小。
例:N=3 à M = 3*37 = 111 , N=31 à M= 31*3581 = 111011
14.已知:有正整数 K1+K2+K3 + ……+Kn=M
要求:找出一组最佳的分解,使得K1*K2*……*Kn为最大。
例如:N=2时,有 K1+K2 = 6
则当K1=3,K2=3时,K1*K2 =9为最大
即K1=3,K2=3为最佳分解
输入N,M,求最佳分解。
15.求某一个三位数ABC,要求满足下列条件:
<1> A>B>C>0
<2> 交换A,C位置得到的新数比原数少495;
<3> 对ABC作全排列而得到的六个三位数之和为2886。
16.求出符合下面条件的5个正整数:
(1) 5个数之和为23;
(2) 从这5个数中选取不同的数作加法,可得1~23中的所有自然数。
打印这五个数及选取数组成的1~23的加法式。
17.将数字65535分解成若干个素数的积。
18.由1..9这九个数字组成的九位数(无重复数字)能被11整除,求最大最小者。
19.输入N个学生的学号和一门功课的成绩:
1) 求出高于平均分的人数,并打印这些人的学号和成绩。
2) 按从低到高的顺序,列出学号和成绩(要求能处理同名次)。
统计各分数段的人数:69分以下为一段,60分以上则每隔5分为一段,95分以上为最后一段。用直方图形式打印输出
20.算术表达式求值:输入一个由数字、+、一、*、/与括号组成的算术表达式,求其值。
21.输入两个正整数X,Y,将X,Y化为两个二进制数,然后将这两个二进制数做二进制加法运算,再将结果化为十进制数输出。
22.输入一个十进制数,将其转换成N进制数( 0 < N <= 16 )。
23. 输入一个N进制数,将其转换成十进制数。
24.找出所有满足条件的三位数的素数。条件是:
它们的逆序数、数码和、数码积或是素数、或是1、或是0。
例如:113是素数,逆序数311也是素数,数码和是5,数码积是3,都是素数。所以113时满足条件的三位数。
25.一个整型变量只能用来存贮较小的N!的值,当N较大时,可将阶乘值中的每一个数
字存放在一个一维数组的一个元素中。使用这种方法,打印:
①N!的值;
②N !~M!(M>N);
③N!+M!
编程完成以下的高精度计算”
①多位数乘以一位数;
②多位数除以一位数;
③多位数乘以多位数(要求用尽可能少的存储单元);
④多位数除以多位数(要求用尽可能少的存储单元);
⑤N!,要求精确到P位(0<P<1000)。
26.编程求解两个高精度正实数的除法,要求精确到小数点后20位,若20位内有循环节,请标出。
27.求输入的实数算术表达式的值,结果精确到小数点后第N位(0<N<=30)。
其中:表达式中出现的运算符为:*,/,+,-,操作数不多于5个
不出现括号,但必须考虑运算优先级顺序。
数列和矩阵
28.由M个数构成一个圆环,找出四个相邻的数,使其和为最大、最小。
29.设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?
30.设有教列al=0,a2=1,a3=a1+2a2,……an=an-2+(n—1)an-1,……求出其前40项, 并用尽可能少的字节表示结果。
31.随机产生50个1….500的自然数。对每次产生的数,若是奇数,则加入队列,若是偶数,则从队首取出一个数据输出,要求显示队列变化情况。
32.用1……N这N个自然数顺序组合成一个多位数,现要求从中删除M个数字(M<N),使得剩下的数为最大。
33.将1,2,3,……20共20个数字排成一排,使相邻两个数字之和为素数,并且头尾两数之和也为素数。求出所有满足条件的排列。
34.1,2,4,7,……是二阶等差数列,因为它们后项减前项的差均组成等差数列1,2,3,……。找出5组,每组4个相邻的素数,其中每一组都构成二阶等差数列的4个相邻项。
35.设有序列b1,b2,b3,…..bm,且bi≠bj。
若存在: i1<i2<i3…..<in,且bi1<bi2<bi3<……<bin,则称:
在b1,b2,b3,……bm中有长度为N的不下降序列。
求:序列b1,b2,b3……bm中长度最长的不下降序列。
36.设A1,A2,….An为1,2,…N 的一个排列。记Bi为这个排列中位于I左边但大于I的数字的个数( i=1,2,…N),则B1,B2,….Bn称为排列A1,A2,….An的反序表。
如:排列 598126473,1的左边且大于1的数字有:5,9,8三个,故B1 =3。
排列与它的反序表之间具有一一对应的性质。
编程实现排列与反序表之间的转换( 1<=N <10 )。
37.给定一串整数数列,求出所有的递增和递减子序列的数目和转换元素。如:数列 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,为转换元素。
38.在已知数列中(长度为N),相邻若干个数之和能被11整除的有多少组,分别打印出来,表现形式为从哪个数到哪个数来描述一种组合。
例:在数列1,4,8,10,16,19,21,25,30,43中,有:
(4,8,10)= 22,(10,16,19,21)= 66,即为其中两种组合。
39.用 1,2,3,……9九个数(不能重复),组成下列式子:
□×□-□=96÷□□+□=□
求出各种可能方案
40.输入N个数字(0~9),然后统计出这组数中相邻俩数字组成的数字对出现的次数
如:0,1,5,9,8,7,2,2,2,3,2,7,8,7,8,7,9,6,5,9中可得到
(7,8)数字对出现次数2次,(8,7)数字对出现次数为3次。
41.已知三元素的字母表(A,B,C)。生成一个该字母表上的含N个(N<50)个字符的序列,要求生成的序列中没有两个相邻的子序列相同。
例如:N=5时
‘ABCBA’是可接受的;
而’ABCBC’是不可接受的。
42.九宫图的特点是横竖对角上的数字之和相等,又称为幻方。请编写程序,调整九宫重的数字,使得横竖对角上的数字之和都不相等(称为反幻方)。
43.将M*N的矩阵,转置为N*M的矩阵输出
44.有一个M*N的矩阵,要求将1至M*N的自然数天入矩阵中并满足:
<1> 同一行中,右边的数字比左边的大;
<2> 同一列中,下面的数字比上面的大;
打印出所有的填法。
45.在一个矩阵(N*N)中,若上三角中的元素全为零,如下图所示:
为了节省空间,可用一个一维数组来表示这个矩阵。
如上图可表示为:(1 2 3 3 0 4),在此种表示方式下,编程完成两个矩阵的加法和乘法。
46.读入N,S两个自然数( 0 <=S, N <=9 ),打印相应的数字三角形。其中,S表示确定三角形的第一个数,N表示确定三角形的行数。
例:N=4, S=3时打印:(首位数为奇数)
N=4, S=4时打印:(首位数为偶数)
47.将1~9这九个数字,如下图排成一个环,请在某两个数字之间剪开,分别按顺时针和逆时针次序排列形成两个九位数,要求剪开后所得到的两个九位数的差能被396整除,共有几组剪法?
48.矩阵中填数,当给出n*n的矩阵,要求用程序填入下列形式的数:
1) 倒填 例如 n=5
2) 蛇型填数
3) 回转填数
49.如图所示的9*9矩阵中,除了10个格是空的外,其余的都填上了字符 * ,这十个空的格子组成了一个五角星图案的10 格交叉点:
空矩阵
输入(1,5)的情况:
编写程序,由键盘输入这10个点中的任一个(如,输入(1,5)是指五角星顶上的那个点,则计算机从这个点开始,给这10个点依次正确赋值(0,1,2,9)最后打印出这个矩阵,正确的赋值规则如下:
1) d=0;
2) 将d的值填入当前的点;
3) 如果 d < 9 则 d=d+1,否则结束;
4) 由当前的点沿五角星边的直线(不能打折),跨过另一点(可以是已填上数字的点,到达未被填上数的第三个点,此时这个点称为当前点,返回2。
50.有一个四阶方阵,随机产生1..16这16个自然数(不重复),依次填人每个方格中。
要求用最少的对调整次数,使每一行、每一列以及对角线上的四个数之和均相等。
打印每一次对调的过程。
例如:随机产生得如下数字方阵:
16 2 8 13
5 15 10 3
7 9 6 12
lI 4 11 1
对调过程表现为-
step1:
16 2 3 13
S 15 10 8
7 9 6 12
14 4 11 l
Step 2:
…………
51.从键盘输入一个自然数N,然后将1 ~ 3N+2的自然数填入下图,使得用线段相连的两数之差的绝对值能产生数列 1,2,…3N+2
52.最长连线:设有一个N×N的方格图形,且N为3的倍数。要求在图形中存放0或者l,相邻的1可以连成一条连线,连接的方法可以是行,也可以是列;同时约定一条连线只能有一个起点和一个终点,图形上的点最多只能访同一次。例如N=6时,有下图:
在该圈中.包含有如下的一些连线:
等等。
但如下形状不是一条连线:
在以上的连线中,最长的连线为:
表示方法:
最长连线长度:LMAX=9
连线:(1,6)→(2,6) → (3,6) →(4,6) →(4,5) →(4,4) →(3,4) →(2,4) →(2,5)
连线的表示不是唯一的,仅给出一种即可。
数据输入:首先输人N
然后输人N组,每组N/3个8进制数。一个8进制数相当于3个2进制数。
如上例的输入过程:
N=6
7 1
6 7
0 5
6 7
2 0
7 4
程序要求:
① 读入N,并检查合法性(N<=15);
② 读人N组8进制数(不用检查合法性);
③ 求出最长连线长度LMAX,及连线。
排列组合和状态空间
53.算术表达式:
组成表达式的有{0,1,2,3,4,5,6.7,8.9,+,-.*,/,()}这15个元素,求有n个元素组成的所有表达式。
54.从0~9之间取N个数字,组成每位数不重复的所有可能的N位数,按从小到大的顺序进行编号,当输入其中的任何一个数M时,能找出该数对应的编号。
如: 当N=3,M=132时,则输出:
[ 123(1), 132(2), 213(3), 231(4), 312(5), 321(6) ] --à X = 2
55..有一集合中有N个元素,每个元素均为自然数。给定一个total(假定每个元素值均小于total),求:满足条件的所有子集,子集中各元素之和应等于total。
56..一个集合有如下元素:
1是集合元素;
若P是集合元素,则 2*P+1, 4*P+5也是集合的元素。
求:此集合中最小的K个元素。
57.用逐步求精方法求出1,2,3,…..6的全部排列。
58.用回溯的方法求出从1,2,……N个元素集合中,任取出r个的全部组合。
59.从整数值1,2,……100之中.任选出两个数,使他们的差为7,同有多少种选法? 使它们的差小于7,又共有多少种选法?
60.有红球4个,白球3个,黄球3个排成一排,共有多少种排法?
61.从一个8*8的棋盘中,选出两个相邻的方格,共有多少种选法?相邻的意义如下
62.某次智力测验,二等奖获得者共三人,以下奖品每人发给两样:
a.钢笔 b.集邮本 c.影集 d.日记本 e.圆珠笔 f.橡皮
打印各种分配方案及总分配数。
63.键盘输入一个仅由小写字母组成的字符串,输出以该串中任取M个字母的所有排列及排列总教。
64.输人M,N,R。表示从ASCII字符集的所有英文大写字母中的第M个字符开始,共顺序取出N个字母,然后打印所有满足R个字符的组合。
例如,当M=3 N=4 R=2时,则有组合:
(C,D) (C,E) (C,F) (D,E) (D,F) (E,F)
当M=24 N=4 R=2时,则有:
(X,Y) (X,Z) (Y,Z)
65.有一个有N个元素组成的序列,有0,1两种元素,要求在任一位前1的个数不得超过0的个数,求出所有这样的序列。
66.设有N个不同的数,从中取出两组来,要求第一组数中的最小的数比第二组中最大的数大。问共有多少种取法?
例:设有数1,2,3,4,5,第一组可取2个,第二组可取1个
满足条件的取法有:1,2, 3; 1,3, 4
1,2, 4; 1,3, 5
l,2, 5; 1,4, 5
2,3, 4; 2,3, 5
3,4,. 5;
又:若第一组取2个数,第二组取3个数
满足条件的取法:1,2; 2,4,5仅一种
67.用下列方式建立形成一个等价关系组:先输入若干组等价关系对,如:(a,b)表示a,b等价;若有(a,b),(b,c),(c,d)则表示a,b,c,d等价,用(-1,-1)表示输人结束。
当关系组建立后,再输人K个元素对.编程判断它们属于哪些关系类。
例如,当初始状态时建立了如下四组关系对:
当K=l时的元素对为(5,7)时,则有状态一;
当K=2时的元素对为(7,13)时,则有状态二;
当K=3时的元素对为(20,2)时,则应属于状态二的第四类。
68.在6*6的方格中,放入24个相同的小球。每格中放一个,要求每行、每列中都有4个球(不考虑对角线),编程实现。
69.有三个化装成仆人的强盗和三个商人。他们都来到河边,准备渡河,但岸上仅有一条只能坐两个人的船,船到岸又需要有人将船划回,见此情况,三个强盗暗地商量,不论在河的哪岸,只要他们的人(指强盗)比商人多,就把商人弄死,抢走珠宝逃跑。这三个商人有所觉查,但一时又想不出一个好办法,十分为难,请你替商人找出一个安全过河的好办法。
70.从三元素的集合{1、2、3}中选取元素生成一个有N个字符组成的序列,使得没有两个相邻的字序列相等。例:N=5时(12321)是合格的,而序列(12323)与(12123)是不合格的,它有予序列23,12是相等的。求出满足条件的N个字符的所有序列。
71.有五个具有五种不同颜色的房间;
每个房间里分别住着一个不同国籍的人;
每个人都在喝一种特定品牌的饮料,抽一特定品牌的香烟,养一特定的宠物;
没有任意两个人在抽相同品牌的香烟,或喝相同品牌的饮料,或养相同的宠物。
爱因斯坦给出了如下线索:
1. 英国人住在红色的房子里;
2. 瑞典人养狗作为宠物;
3. 丹麦人喝茶;
4. 绿房子紧挨着白房子,在白房子的左边;
5. 绿房子的主人喝咖啡;
6. 抽PallMall牌香烟的人养鸟;
7. 黄色房子里的人抽Dunhill牌香烟;
8. 住在中间那个房子里的人喝牛奶;
9. 挪威人住在第一个房子里(最左边);
10. 抽Blends香烟的人和养描的人相邻;
11. 养马的人和抽Dunhill牌香烟的人相邻;
12. 抽BlueMaster牌香烟的人喝啤酒;
13. 德国人抽Prince牌香烟;
14. 挪威人和住蓝房子的人相邻;
15. 抽Blends香烟的人和喝矿泉水的人相邻;
爱因斯坦的问题是:谁在养鱼作为宠物?
参考答塞:
1号黄色,挪威人,喝水,抽Dunhill,养猫;
2号蓝色,丹麦人,喝茶,抽Blends,养马;
3号红色,英国人,喝牛奶,抽Pall mall,养鸟;
4号绿色,德国人,喝咖啡,抽Prince;
5号白色,瑞典人,喝啤酒,抽Blue Master,养狗。
经上推测,应该是德国人养鱼作为宠物。
数据结构、树和图
72.将一个表达式如 (A+B)*C+E+D/F*(A+K)使用栈化为前缀和后缀来表示。
73.合并链表:巳知两个链表{an}={al,a2…..an},(bm)={bl,b2…..bm}。将其合并成一个链表{cn}={a1,b1,a2,b2,…}
74.分解链表:已知一个由整数组成的线性表。存储在链表中。试将链表中各结点的数据除以3,分别得到余数为0,1,2,按此三种不同情况,将原来的链表分解成三个不同的链表。
75.对于次数很高 ,但项目很少的多项式。可用链表来表示。
例如: X1000-76X78+3X3-7可表示为
在此方式下.编程完成两个多项式的加法与乘法。
76.一元多项式加法:
实现两个整系数一元多项式的加法。
如:有多项式5X6+4X3-7X4+1与多项式50X2+4X+0X3
结果为: 5X6-7X4+4X3+50X2+4X+1
程序要求:键盘输人多项式的各项系数及指数,每项系数及指数为一组数据(系数及指数之一可为零),以’0,0’结束一个多项式的输入,结果按降幂排列,同类项要合并(指教最大不超过30)。
上列第一式的输人为: 5,6
4,3
-7,4
1,0
0,0
上例输出结果表示如下:
5X6-7X4+4X3+50X2+4X+1
77.编程计算两个多项式除法的商与余数。
例如: F(X)=X4+4X3+6X2+7X+9
G(X)=X3+3X2+3X+1
则:F(X)/G(X)=X+1……3X+8
78.多项式排列问题:
多项式P::=项|{±项}
项::=Laibjck
其中: L :整数
I,j,k:包括0以内的任意整数
例如: P=3a2-2ab2c+bc2-7
多项式的输人方式:(a1,a2,a3,a4)
其中:a1 :系数,可正,负
a2,a3,a4:表示i,j,k
程序要求:按降序a->b->c方式排列输出
79.利用两个栈Sl,S2模拟一个队列,写出用栈的运算来实现队列的插入与删除运算的算法和程序。
80.最小生成树:求出一个图的最小生成树,即该图的所有生成树中,树权最小的那棵生成树。
81.求出一个二叉树的深度与最大宽度。
82.设有数2、3、5、7、13,运算符号 +-* 且运算符无优先级之分。如:
2+3*5=25 3*5+2=17
现给出任意一个整数N,要求用以上的书和运算符以最少的运算次数产生出N。
例如:
N=7, 7=7 0次运算
N=93 93=13*7+2 2次运算
83.给出一个字符串表达式,首先进行语法检查,然后表示成一个树的形式输出。
84.建立二叉树的链表存储结构后:
① 写出计算二叉树中叶子结点数目的递归算法;
② 编写复制这棵二叉树的非递归程序。
85.以下方法称为-最小代价的字母树:
给定一个正整数的序列,例如:4,1,2,3不改变数的位置把他们相加,并且用括号来标记每一次加法所得到的和。
例如:((4+1)+(2+3))=((5)+(5))=10
除去原数4,l,2,3之外,其余都为中间结果,如:5,5,l0
将中间结果相加,得到:5+5+10=20 数20成为此数列的一个代价。
若得到另一种算法:(4+((1+2)+3)=(4+((3)+3))=(4+(6))=10 数列的另一个代价为:3+6+10 =19
若给出N个数,可加N-1对括号,求出此数列的最小代价。(给出过程)
86.对一个圈进行拓扑排序,方法如下:
(1) 在有向图中选一个没有前趋的结点且输出之;
(2) 从图中删去该结点和所有与之相连的边。
重复以上过程,直至全部结点均已输出或者图中没有无前趋的结点为止,后一种情况则说明有向图中存在环,无法进行拓扑排序。
87.设有N门课程(10<=N<20),课程名字用a,b,c……英文字母来表示,学生学习某门课程的条件是:
① 不需要任何条件;
② 必须学习完某些课程之后,才能学习此谋程。
程序要求:(输入以0,0为结束符)
① 输入课程数N,及每门课程的名宇,并进行语法检查。
② 输入学习课程之间的关系。
输入形式:(a,b),表示a在b的前面学习。要学习b必须先学完a;
③ 若学生一次只学一门课程,给出一种学习的顺序,表示形式如下:
a->b->c->d
④ 若学生一次可学习任意多门课程,表示形式如下:
(a,b)->(c,e,d)->(g)
问:一个学生至少要几次学习才能学完全部课程。
88.正方形矩阵染色:有一个n×n的正方形矩阵,划分为n×n个边长为l的正方形,用黑、白两种颜色对这些小正方形涂色,求所有涂色方案(不包括旋转后重复的方案)。
89.设有一个字符串,长度小于100,且全部以英文字母组成。对字串中的每个字母可用0,1,2三个数宇进行编码,且数字可以重复使用。
程序要求:
① 输入字符串,并能判断输入是否有错;
② 输出对应的编码表及码长,要求字串的编码长度为最短;
③ 根据上述编码表,给出一些编码,然后求出其原字符串。
例如:输入的字符为:ABCBAAADDEF
其对应的编码表为:
A: 2
B: 10
C: 11
D: 12
E: 00
F: 01
对应的编码为:210111022212120001 码长为:18
根据该编码,给出编码:010001121110222
则输出字串:FFDCBAAA
90.某些密码由N 个英文字母组成(N<26),每个字母的平均使用率为:W1,W2,W3……Wn,要求编程完成下列任务:
① 键入英文字母及个数;
② 键入N个英文字母的使用频率;
③ 用二进制数对该N个英文字母进行编码(最短,无二义性);
④ 键入字母短文(单词用空格区分),输出相应编码;
⑤ 键入二进制编码短文,输出译文。
情景题
91.有一种计算机病毒叫黑色星期五,如果当天是13号,又恰好是星期五,就会发作起来毁坏计算机的存储系统,编程找出九十年代中这种病毒可能发作的日期。
92.有一批订单,订单中需要有长度为L1的钢材N1根,长度为L2的钢材N2根,……长度为Lk的钢材Nk根。刚才每切割一次,将会有长度为DL的损耗。现有长度为L的钢材一根,要求从订单中选出若干根,使得钢材的损耗最少。
93.猴子选大王:
1) N只猴子站成一行,每隔M只从头到尾报数,报到的退出,打印每次过程,直到剩下一只为止
2) N只猴子站成一行,每隔M只报数。先从头到尾,报到尾后,再返回从尾到头报数,打印每次方向及过程,直到剩下两只时,以排在后面的(指报数方向)为大王。
3) N只猴子围成一圈,从P个开始,每隔M只报数,打印每次过程,只剩下一个时为大王。
94.编制一个扑克牌发牌理牌的程序。将一副除去大小王的扑克牌,随即发给4个人。先将每人得到的牌,按照黑桃(S),红心(H),方块(D),草花(C)四种花色进行整理,然后再在每种花色中按A,K,Q,J,10….2的顺序进行排列输出。
95.用扑克牌玩24点游戏时,对牌面的计算方法如下:
牌面 计算方法
2 2点
3 3点
……
10 10点
J 11点
Q 12点
K 13点
A 1点
要求从一副扑克牌中任取4张,通过+-×÷的运算而得到24点(每张牌只能使用一次)。
例如:有牌3、5、6、8,则可通过:3×(6-5) ×8=24 计算出24点。但也存在计算不出的情况,如:A、A、A、2等。
96.在N×M的方格中的A点,可以沿着x,y增加的方向到达B点.问:共有多少种走法?
97.在N×M的方格中的A点,可以沿X,Y的正方向前进,但是必须绕过一个r×r的正方形,问共有多少种走法(当n,m=<5时需输出具体路径)?
98.求一个给定图中的每两对结点之间的最短路径。
99.有面值为M….N的邮票各一枚,求共能拼出多少不同的面额。
100.有一幢大楼,共有N层。为了便利乘坐电梯,规定每集电梯除停顶层和底层外,还可停K层,试求至少需要多少架电梯才能使每两层之间有直达电梯。
101.有81个同样种类的零件,已知其中一个是次品,比正品较轻,仅限用天平称4次,把次品找出来,要求打印每次称量过程。
102.换钱币,给出一组兑换钱币的公式。
例如:
(4,1)= 5 (4个1分可按1个5分)
(2,2),(2,5)=20 (2个2分加上2个5分可换1个20分)
…………
该任务可以一直进行到不能兑换为止。例如根据以上公式,某人有:
(6,1),(8,2),(3,5),(0,0)则可以用4个1分换成1个5分,
此时,有(2,1),(8,2),(4,5)
再用4个2分,4个5分换成2个20分,
此时,有(2,1),(4,2),(0,5),(2,20),
此时已不能再换,共有钱币2+8 +40=50分
问题:给出一组兑换公式,输入方式:
(A1,B1),(A2,B2)……(An,Bn)=r (分面值)
…………
(0,0) (结束)
同时给出某人开始时所有的钱币:
(Xl,Y1),(X2,Y2),……(0,0) (结束)
用不断兑换方法.使此人具有最大的面值。
103.4×4的方格网棋盘,一粒骰子放在X位置上,点数朝向如下图中l点朝上。从X上出发一格一格地沿水平或垂直方向翻动,每次翻动一个侧面,至少要翻动几次使骰子到达D位置且正好6点向上,若出发时向上位置是随机的时,又该如何处理。解答输出格式要求经过所在方格时把此时向上一面的号码打印在方格上。
104.一块3×3或5×5的方格立方体,一只蚂蚁从左上角出发,每次可走入相邻的某一块,要求最后走到中心的一块,试讨论你的走法。并求出所有可能走法。(N=3,N=5为测试条件)。相邻:有侧面邻接的两块。
105.由计算机随即产生一个九角星如图,每个角上放上一枚棋子人机对弈,规则如下:
可以在九角星上拿走尚未取走的一枚棋子或同一线段上的两枚棋子,被轮到取子时不能不取棋子
编程实现:让计算机后取子而又最后获胜。获胜条件:一方把棋子取完。对方无棋子可取时为胜者。
106.给定一个n条边的凸多边形区域R,我们可以用n-3条不在内部相交的对角线把这个区域分成n-2个三角形,求所有的不同分法。
107.一个8×9的棋盘用下面的图形去覆盖,求出所有本质不同的覆盖方法。
108.有一白色矩形平板,另有若干涂有不同颜色的小矩形零件,每一种零件只涂一种颜色,可以为白色。将这些零件逐一叠放在平板上,每个零件的边都与平板的边平行,且都在平板的边界之内。最后从平扳的上方俯视,则该平板被划分为不同颜色的区域。若任意两个区域存在有重合部分的边,则其颜色不同。编程输出每个区域的面积.并指明其颜色。
输入格式:
① 首先输入平板边长a,b,其中a,b为小于100的自然效;
② 输入矩形的个数N(0<=N<=30);
③ 输入每个零件的左上角和右下角坐标,及该矩形的颜色代码。
零件的坐标是以平板的左下角为坐标原点而得到的,可为小数;
颜色以1—64间的自然数表示,1为白色。
例:平板尺寸:20,12
零件个数:5
展开阅读全文