蓝桥杯
Respect@
感谢
展开
-
蓝桥杯2017_B t3取数位
取数位求1个整数的第k位数字有很多种方法。以下的方法就是一种。// 求x用10进制表示时的数位长度int len(int x){if(x<10) return 1;return len(x/10)+1;}// 取x的第k位数字int f(int x, int k){if(len(x)-k==0) return x%10;return _____________________; //填空}int main(){int x = 23574;printf(“%d\n”,原创 2022-04-16 18:09:26 · 102 阅读 · 0 评论 -
蓝桥杯2017_B t3方格分割
方格分割6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图:p1.png, p2.png, p3.png 就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。请提交该整数,不要填写任何多余的内容或说明文字。#include <iostream>using namespace std;int ans;int dire[][2] = {{-1, 0}, {1,原创 2022-04-14 11:17:02 · 114 阅读 · 0 评论 -
蓝桥杯2017_B t3承压计算
承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 9 2 7 2 8 1 4 9 1 8 1 8 8 4 1原创 2022-04-14 11:16:02 · 96 阅读 · 0 评论 -
2016_B t9交换瓶子
交换瓶子有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子:2 1 3 5 4要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式为两行:第一行: 一个正整数N(N<10000), 表示瓶子的数目第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。例如,输入:53 1原创 2022-04-14 11:11:11 · 113 阅读 · 0 评论 -
2016_Bt6方格填数
方格填数如下的10个格子±-±-±-+| | | |±-±-±-±-+| | | | |±-±-±-±-+| | | |±-±-±-+(如果显示有问题,也可以参看【图7-1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include <iostream>#include <st原创 2022-04-14 11:08:44 · 96 阅读 · 0 评论 -
2016_B t5抽签
抽签X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。…那么最终派往W星的观察团会有多少种国别的不同组合呢?下面的程序解决了这个问题。数组a[] 中是每个国家可以派出的最多的名额。程序执行结果为:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFFFBDFFFBDEFFBCFFFBCEFFBCDFFBCDEF…(以下省略,总共101行)#include原创 2022-04-14 11:06:58 · 94 阅读 · 0 评论 -
2015_B t8移动距离
移动距离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 两楼间最短移动距离。例原创 2022-04-14 11:01:20 · 88 阅读 · 0 评论 -
2015_B t6加法变乘法
加法变乘法我们都知道:1+2+3+ … + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+…+1011+12+…+2728+29+…+49 = 2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。注意:需要你提交的是一个整数,不要填写任何多余的内容。#include <iostream>using namespace std;int main(int argc原创 2022-04-14 10:59:33 · 106 阅读 · 0 评论 -
2015_B t5九数组分数
九数组分数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", a, b)原创 2022-04-14 10:58:33 · 104 阅读 · 0 评论 -
2015_B t4格子中输出
格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include <stdio.h>#include <string.h>void StringInGrid(int width, int height, const char* s){int i,k;char buf[1000原创 2022-04-14 10:57:21 · 90 阅读 · 0 评论 -
2015_B t2星系炸弹
星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。每个炸弹都可以设定多少天之后爆炸。比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19请严格按照格式书写。不能出现其它文字或符号。#include <iostream>using nam原创 2022-04-14 10:55:44 · 247 阅读 · 0 评论 -
2015_B t1奖券数目
奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。#include <iostream>#include <sstream>#include <string&g原创 2022-04-14 10:54:35 · 236 阅读 · 0 评论 -
2014_B t7 六角填数
六角填数如图【1.png】所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。#include <iostream>#include <vector>#include<algorithm>using namespace std;void check(vector<int> v);int main(int ar原创 2022-04-14 10:52:51 · 261 阅读 · 0 评论 -
2014_B t5打印图形
打印图形小明在X星球的城堡中发现了如下图形和文字:rank=3*rank=5** ** ** * * ** ** * * ** * * ** * * * * * * ** ** * * ** * * ** * * * * * * *ran=6** ** ** * * ** ** *原创 2022-04-14 10:25:00 · 74 阅读 · 0 评论 -
2014_B t3李白打酒
李白打酒话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内原创 2022-04-14 10:22:48 · 87 阅读 · 0 评论 -
2014_B t1啤酒和饮料
啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。注意:答案是一个整数。请通过浏览器提交答案。不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。#include <iostream>using namespace std;int main(int argc, const char * argv[]) { for (int i = 1; i <=5原创 2022-04-14 10:20:40 · 210 阅读 · 0 评论 -
2013_B t7错误票据
标题:错误票据某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N<100)表示后面数据行数。接着读入N行数据。每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000)每个整数代表原创 2022-04-14 10:16:29 · 94 阅读 · 0 评论 -
2013_B t6三部排序
标题:三部排序一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!以下的程序实现了该目标。其中x指向待排序的整型数组,len是数组的长度。void sort3p(int* x, int len){原创 2022-04-14 10:15:14 · 95 阅读 · 0 评论 -
2013_B t5前缀判断
/*题目标题:前缀判断如下的代码判断 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原创 2022-04-14 10:13:56 · 76 阅读 · 0 评论 -
2013_B t3第39级台阶
题目标题: 第39级台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。注意:不要提交解答过程,或其它的辅助说明文字。*/#include <iostream>using namesp原创 2022-04-14 10:12:29 · 76 阅读 · 0 评论 -
2013_B t2马虎算式
标题: 马虎的算式小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是: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 这样的算式一共有原创 2022-04-14 10:10:05 · 96 阅读 · 0 评论 -
2016_B t7剪邮票
剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。*/#include <algorithm>#include <iostream>#include <string.h>转载 2022-03-30 10:47:21 · 135 阅读 · 0 评论 -
蓝桥杯2017_B t2等差素数列
/*标题:等差素数列2,3,5,7,11,13,....是素数序列。类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。*/#include <原创 2022-03-24 11:08:38 · 90 阅读 · 0 评论 -
2016_B t4快速排序
/*快速排序排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它。这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。下面的代码是一种实现,请分析并填写划线部分缺少的代码。#include <stdio.h>void swap(int a[], int i, int j){int t = a[i];a[i] = a[j];a[j] = .原创 2022-03-21 16:16:45 · 85 阅读 · 0 评论 -
2016_B t3凑算式
/*凑算式这个算式中AI代表19的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。*/#include <iostream>#include <cmath>#include<algorithm>using namespace std;int a[]={1,2,3,4,5,6,7,8,原创 2022-03-21 16:14:48 · 85 阅读 · 0 评论 -
2016_B t2生日蜡烛
/*生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。*/#include <iostream>using namespace std;int main(){ //int ans=0; for(int i=1;i<=100;i++){ fo原创 2022-03-19 15:42:41 · 195 阅读 · 0 评论 -
2016_B t1煤球数目
/*煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),…如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。*/#include <iostream>using namespace std;int main(int argc, const char * argv[]) { int pre=1;原创 2022-03-19 15:37:28 · 183 阅读 · 0 评论