基础训练题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息学竞赛基础训练题
******一. 数值计算******
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.1
3.魔术师翻牌:魔术师把扑克中的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(-1000)后,显示出式子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. 若指纹只有斗和箕两种, 试找出右手含有大拇指和中指为斗的各种情况, 并统计种数.