
蓝桥杯历届初赛试题
acm_JL
这个作者很懒,什么都没留下…
展开
-
第五届_啤酒和饮料
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。#include#includeusing namespace std;int main(){ int i,j; for(i=20;i<=433;i++) { for( j=0;j<i;j++) { if(fabs(82.3-(原创 2016-03-01 14:23:43 · 853 阅读 · 0 评论 -
第三届_微生物繁殖
假设有两种微生物 X 和 Y: X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。//以半分钟为一个单位1,其他时间都按照半分钟的划分单位几 ,60分钟就是120个单位 #includeusing names原创 2016-02-23 13:14:14 · 520 阅读 · 0 评论 -
第三届_海盗喝酒
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......”。请你根原创 2016-02-26 22:22:00 · 666 阅读 · 0 评论 -
第三届_银行密码
把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。变换的过程如下:第一步. 把字符串6个一组折叠起来,比如wangximing则变为: wangxi ming 第二步. 把所有垂直在同一个位置的字符的ascii码值相加,得出6个数字,如上面的例子,则得出: 228 2原创 2016-02-27 15:12:00 · 477 阅读 · 0 评论 -
第三届_电视台答题
某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。每位选手都有一个起步的分数为10分。某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?如果把答对的记为1,答错的记为0,则10个题目的原创 2016-02-26 22:24:56 · 649 阅读 · 0 评论 -
第三届_甲乙丙比赛
足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能。假设有甲、乙、丙、丁四个球队。根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表: 甲 乙 丙 丁 甲 - 0.1 0.3 0.5乙 0.9 - 0.7 0.4 丙 0.7 0.3 - 0.2丁 0.5 0.6 0.8 -数据含义:甲对乙的取胜概率为0.1,丙对乙的原创 2016-02-28 14:02:30 · 873 阅读 · 0 评论 -
第三届_取球游戏
今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定:每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。被迫拿到最后一个球的一方为负方(输方) 请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢? 程原创 2016-02-28 18:44:11 · 639 阅读 · 0 评论 -
第四届_高斯日记
大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210。 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月原创 2016-03-01 01:32:11 · 629 阅读 · 0 评论 -
第四届_马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54。 假设 a b c d e 代表1~9不同的5个数字(注意是各不相原创 2016-03-01 01:35:00 · 433 阅读 · 0 评论 -
第四届_39级阶梯
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?#include using namespace std; int count=0; void fun(int原创 2016-03-01 01:39:39 · 801 阅读 · 0 评论 -
第四届_黄金连分数
黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!! 言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法。比较简单的一原创 2016-03-01 01:43:42 · 933 阅读 · 0 评论 -
第四届_错误票据
某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。程序首先输入一个整数N(N程序输出1行,含两个整数m n,用空格分隔。其中,m表示断号原创 2016-03-01 10:27:07 · 628 阅读 · 0 评论 -
第四届_翻硬币
小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo。 如果同时翻转左边的两个硬币,则变为:oooo***oooo。现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢? 我们约定:把翻动相邻的两个硬币叫做一步操作,那原创 2016-03-01 10:30:03 · 770 阅读 · 0 评论 -
第四届_带分数
100 可以表示为带分数的形式:100 = 3 + 69258 / 714。 还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。输入一个正整数N (N输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。例如:用户输入:100程序输出:11原创 2016-03-01 10:34:22 · 524 阅读 · 0 评论 -
第三届_求解算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 。他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”。华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把ABCDE所代表的数字写出来。 #include int main() { in原创 2016-02-23 13:23:44 · 623 阅读 · 0 评论 -
第二届_第二题_消费购物券
公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。程序输入:第一行是一个整数m,代表可购买的商品的种类数。接下来是m个整数,每个1行,分别代表这m种商品的单价。程序输出:第一行是一个整数,表示共有多少种方案第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔原创 2016-02-18 11:29:08 · 1197 阅读 · 0 评论 -
第六届_楼房间距
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 .....我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空原创 2016-03-03 23:05:42 · 861 阅读 · 0 评论 -
第五届_切面条
一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?题目分析:自己模拟一下,找规律 #include int main() { int ans=2; for(int i=1;原创 2016-03-01 14:34:02 · 571 阅读 · 0 评论 -
第五届_李白打酒
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案原创 2016-03-01 15:15:25 · 608 阅读 · 0 评论 -
第五届_奇怪的分式
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 , 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45. 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算原创 2016-03-01 15:22:56 · 609 阅读 · 0 评论 -
第五届_六角填数
如图【1.png】所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?原创 2016-03-01 16:38:17 · 808 阅读 · 0 评论 -
第五届_蚂蚁感冒
100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】第一行输入一个整数n (1 接着的一行是n个用空格分开的整数 X原创 2016-03-01 18:42:42 · 907 阅读 · 0 评论 -
第五届_地宫取宝
X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有原创 2016-03-01 19:04:39 · 442 阅读 · 0 评论 -
第五届_小朋友排队
n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。请问,要让所有小朋友按从低到高排队,他们的不原创 2016-03-01 19:54:29 · 669 阅读 · 0 评论 -
第一届_第一题_黑色星期五
问题描述 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在在这一年中,既是13号又是星期五的日期。说明:(1)一年有365天,闰年有366天,所谓闰年,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的年份;(2)已知1998年1月1日是星期四,用户输入的年份肯定大于或等原创 2016-02-16 21:55:00 · 1754 阅读 · 0 评论 -
第一届_第二题_兑换硬币
//枚举法 #include int main() { int x,y,z; int flag=0; for(x=1; x<100; x++) { for(y=1; y<100; y++) { f原创 2016-02-16 22:04:14 · 638 阅读 · 0 评论 -
第六次选拔_x的x次幂
如果x的x次幂结果为10,你能计算出x的近似值吗?请把x的值计算到小数后6位(四舍五入),并填写这个小数值。 #include #include int main() { double x;//从2开始 for(x=2.0;x<3.0;x+=0.00000001)//8个小数位的形式递增原创 2016-03-03 21:05:51 · 688 阅读 · 0 评论 -
第二届_第一题_打印上三角矩阵
请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出: 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9原创 2016-02-17 19:18:01 · 1742 阅读 · 0 评论 -
第六届_加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225。现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015。思路:用1225和2015分别减去两个位置的数后比较是否相等。 #include using namespace std; int main() { for (int i = 1; i <= 49; i+原创 2016-03-03 22:23:13 · 832 阅读 · 0 评论 -
第六届_牌型种类
小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?#includeusing namespace std;int sum=0;int ans=0;void dfs(int n){ if(s原创 2016-03-03 22:44:29 · 684 阅读 · 0 评论 -
第四届_连号区间数
小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入格式:第一行是一个正整原创 2016-03-01 10:37:55 · 550 阅读 · 0 评论