当前位置:文档之家› 基础训练题

基础训练题

信息学竞赛基础训练题******一. 数值计算******1.1. 找出100到999之间的整数中所有等于它每位数字立方和的数.1.2. 求所有满足条件的四位数: (1)这四位数是11的倍数; (2)a,b,c,d均是小于10 的互不相等的自然数; (3)b+c=a; (4)bc是完全平方数.(abcd分别为千位百位十位个位)1.3. 已知四位数3025有一个特殊性质: 它的前两位数字30和后两位数字25的和是 55, 而55的平方刚好等于该数(55*55=3025). 试编一程序打印所有具有这种性质的四位数.1.4. 编程找出四个互不相等的自然数, 它们之中任意两数之和为偶数, 任意三数之和可以被3整除, 而且这四个数的和越小越好(已知它们的和不大于50).1.5. 输入两城市之间的距离(单位为千米)及旅行的速度(单位为千米/小时)和从某一城市出发的时间,计算出到达另一城市的时间。

其中输入的时间用1805表示18点05分,而输出的时间用18-5这种形式表示。

******二. 数字游戏******2.1. 以不同的字母代表0--9之间的数字, 现有如下等式成立: a+bc+def=ghij,编程求出满足上述条件等式的个数并将所有等式打印输出.2.2. 下面的竖式表示, 图中的"*"号只能用素数2,3,5,7代替, 因此称为素数乘法竖式.(难度较大,放后)* * *× * *---------------* * * ** * * *----------------* * * * *编程找出此乘法竖式的所有可能方案.2.3. 出售金鱼: 出售金鱼者决定将缸里的金鱼分五次全部卖出:第一次卖出全部金鱼的一半加二分之一条;第二次卖出剩余金鱼的三分之一加三分之一条;第三次卖出剩余金鱼的四分之一加四分之一条;第四次卖出剩余金鱼的五分之一加五分之一条;现在还剩下11条金鱼一次卖出. 问缸里原来有多少条金鱼.2.4. 一个四位数是一个完全平方数,减去一个每位数字都相同的四位数( 如 1111, 5555)后, 仍是一个完全平方数. 请编程打印出所有这样的四位数.2.5. 将1,2,3,4,5,6,7,8,9这九个数字组成三个三位数, 使每个数都是完全平方数.2.6. 如果一个数从左边读和从右边读都是同一个数, 就称为回文数. 例如: 686就是一个回文数. 编程找出所有既是回文数又是素数的三位数.2.7. 有一个八位数12345679, 若它乘以9, 则得九位数111111111, 试求:(1)当这个数乘以什么数时, 才能得到全部由5所组成的九位数?(2)当这个数乘以什么数时, 才能得到全部由9所组成的九位数?2.8. 把N个同学排成一排, 由前向后按1,2,1,2......报数, 报单数的走出队伍, 报双数的向前靠拢重新组成一排, 然后再1,2,1,2......报数, 报单数的走出队伍, 问剩下最后一个人时, 这个人原来在哪个位置.(N由键盘输入)2.9. 李先生和他的孙子同出生于20世纪, 他的孙子与他的年龄之差为60岁, 李先生和他的孙子出生年份被3,4,5,6除, 余数分别为1,2,3,4. 编程求出李先生和他的孙子各出生在哪一年.2.10、有N个人围坐在圆桌周围,座号依次为1……N,从1号开始报数,数到M的人便退出,从下一个人起重新报数,数到M的人也退出,不断进行下去直到最后一个人退出,编程打印出依次退出的人的座号。

(N、M由键盘输入)(约瑟夫问题)提示:开始将数组的每个元素赋1。

从第一个元素开始,依次取数组元素相加,当其和为m时,输出该元素的下标(它即是应该出圈人的编号)。

然后将该元素清0,和也清0。

再从下一个元素开始,依次取数组元素相加,当其和为m时,再输出该元素的下标,如此继续,直到输出n个值以后结束。

当某数组元素置0后,相加时将不起作用,相当于该人已经出圈,不再参加报数。

2.11、五个好朋友聚在一起,第一个带了很多糖块送给大家,他使每人的糖块在原来基础上翻了一倍。

接着第二个人也同样向每人发糖块,他也使每人的糖块翻了一倍。

然后第三、第四、第五个人都一照此办理。

奇怪的是经过这样互赠糖块之后,发现每个人的糖块都一样是32块,请问各个朋友原先各有多少块糖?2.12、有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾到头开始逆向报数,同样报3的倍数的退出。

第三遍又是从头到尾进行,第四遍又从尾到头,直到最后余下两只,以排在后面(按报数的顺序)的那只为猴王。

请编程序找出猴王的位置。

(N从键盘输入)(2008cyjs-ex6)2.13.魔术师翻牌:魔术师把扑克中的13张黑桃预先排好后,牌面朝下放在手中。

第一次数一张牌,翻过来恰好是A,放在桌面上,第二次数两张牌,数1的那张放在手中牌的下面,数2的那张牌翻过来恰好是2,也放在桌面上,再数三张牌,顺次把数1、2的牌放在手中牌的下面,第三张牌翻过来恰好是3,仍然放在桌面上。

这样继续做下去,直到手中的13张牌全部翻完为止,此时桌面上的牌的顺序恰好是:A,2,3,4,5,……,J,Q,K。

请编程序找出魔术师手中的那13张牌的原始顺序(2008cyjs-ex6)2.14.编一程序,从键盘上输入整数a,b,c(-100<b,c<100,a>0)后,显示出式子ax2+bx+c分解为两个整式(所有项的系数都为整数)之积的结果,例如:输入:2 -3 -2输出:(2x+1)(x-2) 或 (x-2)(2x+1) (即显示一个式子即可)如不能分解成题目要求的式子,就显示“NO”。

******三. 穷举法(枚举法)******3.1. 一位妇女在河边洗碗. 邻居问:"家里来了多少个客人?", 她回答:" 每两个客人合用一个菜碗, 每三个客人合用一个汤碗, 每四个客人合用一个饭碗, 共用碗65个". 问共来了多少客人?(一): 顺序列举:3.1.1. 某个班有48个同学, 按1--48编号, 称为学号. 按学号顺序分为6个组, 每组 8人.请挑出所有学号是所在组号倍数的学生的学号.3.1.2. 将1--6这六个自然数排成两行三列, 使每一行相邻的数右比左大, 每一列相邻的数下比上大. 编程找出所有的排列方法.3.1.3. 甲乙两个自然数的和, 差, 积, 商四个数加起来等于243, 求甲乙两数各是多少. 若他们的和, 差, 积, 商四个之积等于94221. 那么甲乙两数又各是多少?3.1.4. 海滩上有一堆苹果是五只猴子的共同财产, 准备平均分配. 第一只猴子先到, 它见别的猴子迟迟不来, 就把苹果平均分成五堆, 把多余的一个丢到海里, 拿走了其中一堆.第二只猴子以及后面的猴子都照此办理, 把苹果分成五堆, 把多余的一个丢到海里, 并拿走一堆. 问原来至少有多少个苹果?3.1.5. 有三位数很独特, 它们每位上的数字互不相同且都不大于7, 特别是十位数字正好是百位数字与个位数字之差, 求所有这样的三位数.(二): 排列列举:3.2.1. 举出所有用1,2,3这三个数字组成的, 且每位数字互不相同的三位数.3.2.2. 从A,B,C三个字母中选出两个按先后顺序排在一起, 共有多少种排法.3.2.3. 在航海中党挂出不同颜色的一组旗, 表示不同的信号. 今有红, 黄, 绿, 蓝四面旗, 任意取三面从上到下挂出, 共可表示多少种信号? 请全部列举.3.2.4. 第一年把五件礼物发给五个孩子, 第二年又把同样的五件礼物发给这五个孩子 , 而每个孩子的礼品都与上一年的不同, 请找出所有的方案.3.2.5. 若指纹只有斗和箕两种, 试找出右手含有大拇指和中指为斗的各种情况, 并统计种数.3.2.6. 输入N个整数(可正可负)及一个整数M, 让计算机在这N个整数之间添加一对括号, 使它们的代数和等于M, 并打印这个等式, 若无相等可能, 则打印无解. 如, N=6, 六个数分别是: 1,-2,-3,4,-5,6, M=9, 在输入以后, 计算机最后应打印: 1-(2-3+4-5)+6=9.在这个程序中,开始的6个语句是让用户输入这n个的数的总数,这N个数,最后等于的数。

这个是十分容易理解的。

从第7个语句开始就是对()在这N个数摆放的所有情况进行分析。

如果某一种情况成立那么l=m.所以'if ll= m‘ 以后的对打印的分析。

如果()在这N个数摆放的所有情况都不成立,即L不等于M。

就不会运行打印的部分,而自然就会运行最后的writelN语句。

附:数组N用来储存N个数的值;N1数组N的复制品(因为在循环中会对数组N赋值所以用N1来代做赋值语句中的N);数组S是用来代指N个数前的符号;A是用来代指N个数的数量(其实a可以不用用户输入,但如果不用用户输入A的值的话就会麻烦很多);L是用来代指这N个数的总和;B是代指(后的一个数;C是代指)前的一个数。

(其余的我想我不用多说了。

)3.2.7. 用穷举法解八皇后问题: 在8*8的国际象棋棋盘上摆八个皇后, 使任两个皇后都不在同一行, 同一列及同一条对角线.(见答案)(三): 组合列举:3.3.1. 有六位同学去照相, 每次照三个同学, 共可照出多少张不全相同的照片? 每张照片都是谁?3.3.2. 某班挑出八名同学组成两个4×100米的接力队参加校运会, 这八名同学的百米成绩为: 12.25, 13.11, 12.45, 12.94, 12.48, 13.09, 12.34, 12.83.由于事先知道竞争对手的成绩不超过50.82秒. 问如何组队使本班稳拿第一, 二名? 打印所有方案及相应成绩.3.3.3. 平面上有五个点, 任三点不在同一直线上, 连接每二个点的线段有多少条?(四): 综合:* 3.4.1. 16/64是一个分子和分母都是两位数的真分数, 且分子的个位数与分母的十位数相同. 非常奇怪的是: 如果把该分数的分子的个位数和分母的十位数同时划去, 所得到的结果正好等于原分数约分后的结果. 例 16/64=1/4. 编程找出所有满足上述条件的真分数.3.4.2. 公鸡每只值5文钱, 母鸡每只值3文钱, 小鸡3只值1文钱. 今用100 文钱买鸡共100只, 问公鸡, 母鸡, 小鸡各儿只.3.4.3. 甲去买东西, 要负给乙19元, 而甲只有3元一张的钱, 乙只有5元一张的钱. 请为他们设计一个交换方案.3.4.4. 一米店有三箩米被盗去一部分, 其中左箩剩1合, 中箩剩14合, 右箩剩1合. 小偷甲说他用一马勺在左箩舀米, 每次舀满, 装到布袋. 小偷乙说他用一只木鞋在中箩偷. 小偷丙说他用一只漆碗在右箩中偷. 作案物经标定: 马勺一次舀19合, 木鞋一次舀17合, 漆碗一次舀12合. 问米店被偷走多少米? 甲乙丙各偷多少米?3.4.5. 五户人家共用一口井, 如果用A家的绳2条, B家的绳1条接长, 正好抵达水面; 又用B家绳3条, C家绳1条; 或用C家绳4条, D家绳1条; 或用D家绳5条, E家绳1条; 或用E 家绳6条, A家绳1条接长, 也都一样正好抵达水面, 问井深和各家的绳子各长多少?( 不超过999的整数解).3.4.6、有六箱货物,重分别是5吨、2吨、3.5吨、1.7吨、1吨、5.1吨。

相关主题