蓝桥杯历届试题
文章平均质量分 77
蓝桥杯历届试题个人的思路和解决方法,供编程爱好者参考和一起讨论!
光仔December
技术宅,系统集成项目管理工程师,FCP-报表开发工程师,全国软件开发(C/C++)专业人才高级认证,2014年ACM-ICPC河南省赛区银奖,2014年第五届蓝桥杯河南赛区C/C++程序设计本科B组二等奖,2015年甲骨文杯全国Java程序设计大赛华中赛区A组二等奖,2015年中国大学生计算机设计大赛团队三等奖
展开
-
2012 蓝桥杯【决赛试题】星期几
题目描述: 1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。 那么,从建国到现在,有几次国庆节正好是星期日呢? 只要答案,不限手段! 可以用windows日历,windows计算器,Excel公式,。。。。。 当然,也可以编程! 不要求写出具体是哪些年,只要一个数目! 千万不要提交源原创 2014-03-14 17:36:08 · 6618 阅读 · 9 评论 -
2013蓝桥杯【模拟赛】运送马匹
运送马匹 有1个人,要把n匹马从A村运往B村。 初始时,人和马都在A村。每次骑1匹马牵1匹马,回来时骑1匹马。 已知每匹马从A村到B村需要的时间(数字越大越慢) 两匹马同行时只能迁就较慢者。 求所有马匹都运到B村的最小的运输时间(此时,人和马都在B村)。 程序首先输入一个整数n(n 接着是n行整数,表示马从A村到B村的所用的分钟数(小于1000) 程原创 2014-03-13 14:44:22 · 4531 阅读 · 11 评论 -
2013蓝桥杯【模拟赛】画表格
画表格在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。比如: ┌─┬─┐│ │ │├─┼─┤│ │ │└─┴─┘其实,它是由如下的符号拼接的:左上 = ┌上 = ┬右上 = ┐左 = ├中心 = ┼右 = ┤左下= └下 = ┴右下 = ┘垂直 = │水平 =原创 2014-03-11 21:33:41 · 2973 阅读 · 1 评论 -
2013蓝桥杯【模拟赛】硬币方案
硬币方案有50枚硬币,可能包括4种类型:1元,5角,1角,5分。已知总价值为20元。求各种硬币的数量。比如:2,34,6,8 就是一种答案。而 2,33,15,0 是另一个可能的答案,显然答案不唯一。你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?直接提交该数字,不要提交多余的内容。 思路:什么也别想,比赛时间紧,而且只要求输出答案即可,直原创 2014-03-11 20:59:33 · 3040 阅读 · 3 评论 -
2013蓝桥杯【模拟赛】1的个数
一、标题: 1的个数从1到20的所有数字中含有多少个“1”仔细数一下,应该是12个。那么从1到1000的整数中,含有多少个“1”呢?请填写该数字。 解析:很简单送分的,注意细节处理!代码:#includeint Fun(int n)//把每一位拆开,看看哪一位是零就标记,最后返回数字每位的0总数 { int m,x,sum=0; m=原创 2014-03-11 20:40:34 · 2696 阅读 · 0 评论 -
2013蓝桥杯【初赛试题】前缀判断
前缀判断如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。比如:"abcd1234" 就包含了 "abc" 为前缀 char* prefix(char* haystack_start, char* needle_start){ char* haystack = haystack_start; cha原创 2014-03-11 20:17:14 · 3166 阅读 · 1 评论 -
2013蓝桥杯【初赛试题】三部排序
三部排序一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!以下的程序实现了该目标。其原创 2014-03-11 20:00:37 · 3222 阅读 · 1 评论 -
2012 蓝桥杯【初赛试题】放棋子
放棋子今有 6 x 6的棋盘格。其中某些格子已经预先放好了棋子。现在要再放上去一些,使得:每行每列都正好有3颗棋子。我们希望推算出所有可能的放法。下面的代码就实现了这个功能。初始数组中,“1”表示放有棋子,“0”表示空白。#include #include using namespace std; int N = 0;bool CheckStoneNu原创 2014-03-09 09:52:30 · 3816 阅读 · 1 评论 -
2012 蓝桥杯【初赛试题】大数乘法
大数乘法对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。如图【1.jpg】表示了分块乘法的原理。可以把大数分成多段(此处为2段)小数,然后用小数的多次运算组合表示一个大数原创 2014-03-09 09:01:32 · 3721 阅读 · 3 评论 -
2013蓝桥杯【初赛试题】第39阶台阶
第39阶台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。注意:不要提交解答过程原创 2014-03-02 14:10:53 · 2937 阅读 · 4 评论 -
2013蓝桥杯【初赛试题】高斯日记
高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出原创 2014-03-02 13:59:23 · 3327 阅读 · 0 评论 -
2012蓝桥杯【初赛试题】比酒量
问题描述: 有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒原创 2014-02-28 21:23:31 · 2377 阅读 · 2 评论 -
2012蓝桥杯【初赛试题】 取球游戏
问题描述: 今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方原创 2014-02-28 20:49:53 · 2492 阅读 · 5 评论 -
2012蓝桥杯【初赛试题】手机尾号
题目描述; 30年的改革开放,给中国带来了翻天覆地的变化。2011全年中国手机产量约为11.72亿部。手机已经成为百姓的基本日用品! 给手机选个好听又好记的号码可能是许多人的心愿。但号源有限,只能辅以有偿选号的方法了。 这个程序的目的就是:根据给定的手机尾号(4位),按照一定的规则来打分。其规则如下: 1. 如果出现连号,不管升序还是降序,都加5分。例如:5原创 2014-02-28 20:21:51 · 2632 阅读 · 0 评论 -
2012蓝桥杯【初赛试题】身份证
题目描述: 如果让你设计个程序,用什么变量保存身份证号码呢?长整数可以吗?不可以! 因为有人的身份证最后一位是"X" 实际上,除了最后一位的X,不会出现其它字母! 身份证号码18位 = 17位 + 校验码 校验码的计算过程: 例如:身份证前17位 = ABCDEFGHIJKLMNOPQ A~Q 每位数字乘以权值求和(每位数字和它对应的“权”相乘后累原创 2014-02-28 19:45:38 · 2156 阅读 · 0 评论 -
2012蓝桥杯【初赛试题】干支纪年
题目描述: 在我国古代和近代,一直采用干支法纪年。它采用10天干和12地支配合,一个循环周期为60年。 10天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸 12地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥 如果某年是甲子,下一年就是乙丑,再下是丙寅,......癸酉,甲戌,乙亥,丙子,.... 总之天干、地址都是循环使用,原创 2014-02-28 08:21:36 · 2468 阅读 · 2 评论 -
2012 蓝桥杯【初赛试题】卖鸡蛋
题目描述: 大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。 欧拉随便问:“卖了多少鸡蛋呢?” 不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!” 欧拉猜不出。 另一个补充道:“如果我按她那样的价格卖,可以原创 2014-02-28 07:50:16 · 3340 阅读 · 0 评论 -
2012蓝桥杯【初赛试题】 巧排扑克牌
题目描述: 小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的: 他手里握着一叠扑克牌:A,2,....J,Q,K 一共13张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。 只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是A;然后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是2;......如此循环直到原创 2014-02-27 18:59:31 · 3166 阅读 · 1 评论 -
2012年蓝桥杯【初赛试题】 密码发生器
题目分析: 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字原创 2014-02-25 14:20:47 · 1964 阅读 · 0 评论 -
2012年蓝桥杯【初赛试题】 转方阵
问题描述: 对一个方阵转置,就是把原来的行号变列号,原来的列号变行号 例如,如下的方阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 转置后变为: 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 但,如果是对该方原创 2014-02-25 13:32:30 · 2031 阅读 · 2 评论 -
2012年蓝桥杯【初赛试题】奇怪的比赛
题目描述: 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目原创 2014-02-24 14:45:43 · 2193 阅读 · 0 评论 -
2012蓝桥杯【初赛试题】古堡算式
题目描述: 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的结果来。 请你利用计算机的优势,找到破解的答案。 把 ABCDE 所代表原创 2014-02-24 14:10:34 · 2239 阅读 · 2 评论 -
2012 蓝桥杯【初赛试题】微生物增殖
题目描述: 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 如果X=10,Y=90 呢? 本题的要求就是写出这两种初始条原创 2014-02-24 09:28:44 · 2412 阅读 · 4 评论 -
2011蓝桥杯【初赛试题】程序设计题三
一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串。2.紧接其后,按字母序按行填入不在密钥串中的字母。3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥为youandme,则该方阵如下: y o u a nd原创 2014-03-08 20:57:23 · 1922 阅读 · 0 评论 -
2011 蓝桥杯【初赛试题】 程序设计题二
公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。程序输入:第一行是一个整数m,代表可购买的商品的种类数。接下来是m个整数,每个1行,分别代表这m种商品的单价。程序输出:第一行是一个整数,表示共有多少种方案第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔原创 2014-03-08 16:23:04 · 2218 阅读 · 3 评论 -
2011蓝桥杯【初赛试题】程序设计题一
方阵的主对角线之上称为“上三角”。请你设计一个用于填充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 512 13 14 611 15 710 8原创 2014-03-08 11:27:42 · 2097 阅读 · 0 评论 -
2011蓝桥杯【初赛试题】中奖计算
中奖计算某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码。最后通过摇奖的办法随机产生一个8位数字。参与者写下的数字中最多有多少个连续位与开奖号码中的相同,则称为中了几个号。例如:小张写的数字是:12345678,而开奖号码是:42347856。则称小张中了3个号,因为其中最长的相同连续位是:“234”。如果小张写的是:87654321,则他只中了一个号。下面的代码根据传入的参数原创 2014-03-08 09:53:59 · 2556 阅读 · 1 评论 -
2011蓝桥杯【初赛试题】n进制小数
n进制小数将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。例如:若十进制小数为0.795,则输出:十进制正小数0.795000转换成 2进制数为: 0.11001011十进制正小数0.795000转换成 3进制数为: 0.21011011十进制正小数0.795000转换成 4进制数为: 0.30232011原创 2014-03-08 09:01:09 · 2448 阅读 · 0 评论 -
2011 蓝桥杯【初赛试题】反转串
反转串我们把“cba”称为“abc”的反转串。下面的代码可以把buf中的字符反转。其中n表示buf中待反转的串的长度。请补充缺少的代码。void reverse_str(char* buf, int n){if(n<2) return;char tmp = buf[0];buf[0] = buf[n-1];buf[n-1] = tmp;r原创 2014-03-08 08:46:41 · 1890 阅读 · 0 评论 -
2011蓝桥杯【初赛试题】歌赛新规则
歌赛新规则歌手大赛的评分规则一般是去掉一个最高分,去掉一个最低分,剩下的分数求平均。当评委较少的时候,如果我们只允许去掉一个分数,该如何设计规则呢?有人提出:应该去掉与其余的分数平均值相差最远的那个分数。即“最离群”的分数。以下的程序用于实现这个功能。其中x存放所有评分,n表示数组中元素的个数。函数返回最“离群”的那个分数值。请补全缺失的代码。double score(double原创 2014-03-08 08:41:13 · 2029 阅读 · 0 评论 -
2011蓝桥杯【初赛试题】神秘的三位数
神秘的三位数有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!下面的程序用于搜索这样的3位数。请补全缺失的代码。int JC[] = {1,1,2,6,24,120,720,5040,40320,362880};//开了一个JC的数组用来存取1至9的阶乘,省去了下面的运算,节省了时间int i;for(i=10原创 2014-03-08 08:36:28 · 2706 阅读 · 0 评论