蓝桥杯练习
新手瞎琢磨练习,唉!
SuipiX
是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。
展开
-
2016蓝桥杯 自用
16年的题目T1煤球数目#include<bits/stdc++.h> using namespace std; //奇数:三边相等 a + (a-1) + (a-2)//偶数:下边多一个 a + (a-1) + (a-1)//错误,不要主观臆断,要从已知的条件找 //正确答案:an = an-1 + n int ans = 1; int t = 1;int main(){ for(int i=2; i<=100; i++) { ans = ans +原创 2021-04-11 19:44:33 · 98 阅读 · 0 评论 -
#2018蓝桥杯 自用
看题目点击这里T7螺旋折线#include<bits/stdc++.h>using namespace std;//思路://1.首先得到x轴y轴上的规律:只看x轴,-1与+1差值为4,-2与+2差值为4+4 ...4+4+4..然后y轴也类似//2.当x>y时看x,值为 x轴上的值+-y值 // 当y>x时看y,值为 y轴上的值+-x值 // 当x=y时 值就等于x与y轴上分别的值的平均数 #define max 100000000int x[max];int原创 2021-04-07 19:34:03 · 92 阅读 · 0 评论 -
#2015蓝桥杯-8.移动距离
题目描述X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 …我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空格分开,都在1到10000范围内w为排号宽度,m,n为待计算的楼号。要求输出一个整数,表示m n 两楼间最短移动距离。例如:用户输入原创 2021-01-30 19:03:54 · 200 阅读 · 0 评论 -
#2015蓝桥杯-7.牌型种数--------不会做
题目描述小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。答案:3598180下面是正确的题解考虑每张牌可以被分到的个数!#include<iostream>using namespace std;int sum;void df原创 2021-01-31 10:42:49 · 134 阅读 · 0 评论 -
#2015蓝桥杯-6.加法变乘法--------不会做(已更正)
题目描述我们都知道:1+2+3+ … + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+…+1011+12+…+2728+29+…+49 = 2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是一个整数,不要填写任何多余的内容。下面是正确的题解!!!感觉挺有意思的要用到等差数列求和i 与 j 分别为 × 左边那个数字#include<iost原创 2021-01-30 21:34:44 · 97 阅读 · 0 评论 -
#2015蓝桥杯-5.九数组分数--------没做出来(已更正)看回头看看!记一下模板!
题目描述1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。#include <stdio.h>void test(int x[]){ int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3]; int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8]; if(a*3==b) printf("%d / %d\n",原创 2021-01-29 22:25:11 · 114 阅读 · 0 评论 -
#2015蓝桥杯-4.格子中输出
题目描述StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include <stdio.h>#include <string.h>void StringInGrid(int width, int height, const char* s){ int i,k; char buf[10原创 2021-01-29 21:33:47 · 158 阅读 · 0 评论 -
#2015蓝桥杯-3.三羊献瑞
观察下面的加法算式:其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。下面的代码为错误代码首先一看就知道需要运行很长时间但是嘛,不知道为什么,它根本就直接跳过这个大所有的循环马上输出了“没有”,不晓得为什么!//一共用到了九个不同的数字 #include<iostream>#include<string>using namespace std;int main(){ int t原创 2021-01-29 17:34:45 · 99 阅读 · 0 评论 -
#2015蓝桥杯-2.星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。每个炸弹都可以设定多少天之后爆炸。比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19请严格按照格式书写。不能出现其它文字或符号。//不会用Excel取解题,用脑子吧。。// 脑算 2017/8/5..//原创 2021-01-29 16:03:32 · 112 阅读 · 0 评论 -
#2015蓝桥杯-1.奖券数目
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。//开始尝试C++做题了 //这个题目如果是c来做//我的思路是直接简单的取每个位上的数字出来,看是不是4(因为只是五位数)//例如:i % 10000 这样。。原创 2021-01-29 15:32:33 · 213 阅读 · 0 评论 -
#2014蓝桥杯-10.小朋友排队
这个题目感觉容易点题目描述n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。如果有两个小朋友身高一样,则他们谁站在谁前面是没有原创 2021-01-20 13:54:11 · 222 阅读 · 0 评论 -
#2014蓝桥杯-9.地宫取宝--------不会做 (已更正)
题目描述X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这k件宝贝。【数据格式】输入一行3个整数,用空格分开:n m k原创 2021-01-21 15:26:41 · 103 阅读 · 0 评论 -
#2014蓝桥杯-8.蚂蚁感冒
题目描述长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。【数据格式】第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100), Xi的原创 2021-01-21 14:34:00 · 168 阅读 · 1 评论 -
#2014蓝桥杯-7.六角函数--------没算出(已更正)
题目描述如图所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?在这里插入图片描述请通过浏览器提交答案,不要填写多余的内容。答案: 10话说吧我吐了,执行代码了两个多小时,按道理是能出答案!!!!但是还没出答案下面是我那异常暴力的错误代码先放这里,有时间更正!!!#include<stdio.h>int heng_1[20]; int heng_2[20];int left_xie_1[2原创 2021-01-20 13:00:23 · 679 阅读 · 0 评论 -
#2014蓝桥杯-6.怪的分式
题目描述上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在原创 2021-01-19 16:23:39 · 87 阅读 · 0 评论 -
#2014蓝桥杯-5.打印图形
这种类型的题目开始没看懂后面看了看题解知道怎么做这种类型的题目了题目描述小明在X星球的城堡中发现了如下图形和文字:rank=3** ** ** * * *rank=5 * * * * *原创 2021-01-20 10:52:51 · 116 阅读 · 0 评论 -
#2014蓝桥杯-4.史丰收速算--------根本看不懂
题目描述史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法。其中,乘以7是最复杂的,就以它为例。因为,1/7 是个循环小数:0.142857…,如果多位数超过 142857…,就要进1同理,2/7, 3/7, … 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n下面的程序模拟了史丰收速算法中乘以7的运算过程。乘以 7 的个位规律是:偶数乘以2,奇数乘以2再加5,都只取个位。乘以 7 的进位规律是:满 142原创 2021-01-19 11:35:40 · 191 阅读 · 0 评论 -
#2014蓝桥杯-3.李白打酒
题目描述话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。*答案原创 2021-01-19 11:05:58 · 92 阅读 · 0 评论 -
#2014蓝桥杯-2.切面条
题目描述一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。答案:1025#include<stdio.h>int t = 1;int main(){ //运用聪明的脑瓜易晓得 for(int i=1; i<=10; i++) { t = t * 2; } pr原创 2021-01-19 10:41:17 · 74 阅读 · 0 评论 -
#2014蓝桥杯-1.啤酒和饮料
题目描述啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。注意:答案是一个整数。请通过浏览器提交答案。不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。答案: 11#include<stdio.h>int main(){ for(int x=1; x<=100; x++) for(int y=1; y<=100; y++) { if(x<y &原创 2021-01-19 10:29:23 · 113 阅读 · 0 评论 -
#2013蓝桥杯-7.错误票据
题目描述~~这种输入的方式是真不会,只会while(scanf(“%d”, &a) == 1)但显然这样是不可行的,但有的答案里很多函数都不知道是干嘛的,看不懂。先把标准答案贴下面,先去了探究解下,回头解决!~~ 某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。原创 2021-01-16 21:12:27 · 147 阅读 · 0 评论 -
#2013蓝桥杯-6.三部排序
题目描述一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!以下的程序实现了该目标。其中x指向待排序的整型数组,len是数组的长度。void sort3p(int* x, int len){ int p原创 2021-01-16 21:09:08 · 69 阅读 · 0 评论 -
#2013蓝桥杯-5.前缀判断
题目描述如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。比如:“abcd1234” 就包含了 “abc” 为前缀char* prefix(char*haystack_start, char* needle_start){ char*haystack = haystack_start; char*needle = needle_start; while(*haystack&& *needl原创 2021-01-16 21:07:45 · 133 阅读 · 0 评论 -
#2013蓝桥杯-4.黄金连分数--------看了解析(高精度!)
唉!标准答案没看懂,找到个可以看懂的答案分析一波题目描述黄金分割数0.61803… 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!!言归正传,我们如何求得黄金分割数的尽可能精确的值呢?有许多方法。比较简单的一种是用连分数:比较简单的一种是用连分数:原创 2021-01-16 21:05:30 · 180 阅读 · 0 评论 -
#2013蓝桥杯-3.第39级台阶--------已更正(递归!)
题目描述小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。注意:不要提交解答过程,或其它的辅助说明文字。答案:51167078样例//说实话吧,真是说数学题,花了好多时间,比赛肯定想不到//我的思路://1.原创 2021-01-16 21:00:59 · 227 阅读 · 0 评论 -
#2013蓝桥杯-2.马虎的算式
题目描述小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为 36 * 495 = 396 * 45 = 17820类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?原创 2021-01-16 20:57:12 · 97 阅读 · 0 评论 -
#2013蓝桥杯-1.高斯日记
题目描述大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。高斯获得博士学位的那天日记上标着:8113请你算出高斯获得博士学位的年月日。提交答案的原创 2021-01-16 20:53:01 · 137 阅读 · 0 评论