![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
记录每天的做题情况,方便自用。
如果你们需要,自取,不谢!!!
尚书渤海
早睡,读书,赚钱。
展开
-
十一届蓝桥杯大赛延期—心路历程及退赛
刚开始是从十月份的200人校内初选,然后蓝桥班的60人开班典礼,以及班里来回走或加入的成员,最终确定了参赛人员共计15名,我很荣幸的成为了班长,能够带领大家一起刷题,一起总结,一起打游戏,一起聊天,一起看电影,一起喝酒……虽然因为疫情的缘故,比赛的时间线也被拖得越来越长,终于在今天,官方发布了消息,延期到九月至十月底。而很遗憾的事情是,我即将在今年的课程结束之后就要就业实习了。所以我们一批次的同学会全部退赛!!说一说我为什么参加蓝桥杯?刚在大一的时候就已经知道这个比赛了,当时的我年少无知的情况下,也不原创 2020-05-14 22:35:43 · 10121 阅读 · 2 评论 -
蓝桥杯 给定一个由数字组成的字符串 JAVA
给定一个由数字组成的字符串,我们希望得到它的各个数位的和。比如:“368” 的诸位和是:17这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案:思路:return返回的内容是先加左边,再加右边。public class Main { public static int f(String s, int begin, int end) { int mid; if (end - begin == 1) return s.charAt(begin) - '0'; mid =原创 2020-05-12 20:44:23 · 4544 阅读 · 0 评论 -
蓝桥杯 字符串的全排列 JAVA
问题描述: 一组字符串的全排列,按照全排列的顺序输出,并且每行结尾无空格。输入: 输入一个字符串输入示例: 请输入全排列的字符串: abc输出示例: a b c a c b b a c b c a c b a c a bimport java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc原创 2020-05-11 09:36:11 · 4179 阅读 · 0 评论 -
蓝桥杯 神犇一生 JAVA
【问题描述】传说中有位神犇,因其一贯低调,所以人们连他活了多少岁都不知道。好在XXXX文献上有段关于他生平细节的文字:神犇一生中,幼年占了1/6,又过了1/12的青春期,又谈了1/6的恋爱后结婚,婚后m年生了个孩子,名叫神牛,神牛比神犇先死n年,神牛的寿命是神犇的一半。请你帮忙算出这位神犇活了多少岁。【输入】多组数据,每组数据占一行,输入m,n,意思为题目所描述的。(0 < n , m <= 100)【输出】每组数据输出一行,包含一个整数(表示神犇的年龄)【样例输入】5原创 2020-05-11 09:18:22 · 4073 阅读 · 0 评论 -
蓝桥杯 海盗比酒量 JAVA
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复… 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“…昨天,我正好喝了一瓶…奉劝大家,开船不喝酒,喝酒别开船…”请你根据这些信息,推断开始有多少人,每一轮喝下...原创 2020-05-08 09:21:23 · 4132 阅读 · 2 评论 -
第五届 蓝桥杯 海盗分金币 JAVA
有5个海盗,相约进行一次帆船比赛。比赛中天气发生突变,他们被冲散了。恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人。第一个人在沙滩上发现了一堆金币。他把金币分成5等份。发现刚好少一个金币。他就从自己口袋拿出一个金币补充进去,然后把属于自己的那份拿走。第二个到达的人也看到了金币,他也和第一个人一样,把所有金币5等分,发现刚好缺少一个金币,于是自己...原创 2020-05-07 21:23:04 · 4127 阅读 · 2 评论 -
蓝桥杯 取球游戏 JAVA
今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。我们约定:每个人从盒子中取出的球的数目必须是:1,3,7或者8个。轮到某一方取球时不能弃权!A先取球,然后双方交替取球,直到取完。被迫拿到最后一个球的一方为负方(输方)请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢...原创 2020-05-06 16:40:15 · 4253 阅读 · 1 评论 -
蓝桥试题 算法训练 报数 JAVA
问题描述 现有n个同学站成一圈,顺时针编号1至n。从1号同学开始顺时针1/2报数,报到1的同学留在原地,报到2的同学退出圆圈,直到只剩一名同学为止。问最后剩下的同学编号。输入格式 仅一行,一个正整数n。输出格式 仅一行,一个正整数。样例输入400样例输出289思路:刚看以为是约瑟夫环问题,但是好像给想复杂了,然后借鉴了大哥的解法~~详情:https://blog.csd...原创 2020-04-30 22:17:50 · 4473 阅读 · 0 评论 -
蓝桥试题 算法训练 字符串逆序 JAVA
资源限制时间限制:1.0s 内存限制:512.0MB 输入一个字符串,长度在100以内,按相反次序输出其中的所有字符。样例输入tsinghua样例输出auhgnist思路:转成字符数组,倒序输出即可。import java.util.Scanner;public class Main { public static void main(String[] args) {...原创 2020-04-30 21:53:35 · 4171 阅读 · 0 评论 -
试题 算法训练 单词翻转 文章翻转 JAVA
输入格式 输入包括一个英语句子。输出格式 按单词的顺序把单词倒序输出样例输入I love you样例输出you love I数据规模和约定 简单的字符串操作 思路:看见字符串并且还有空格,那就王split 上面靠就可以了~~import java.util.Scanner;public class Main { public static void main(...原创 2020-04-30 21:44:17 · 4245 阅读 · 0 评论 -
蓝桥试题 算法训练 天数计算 JAVA
问题描述 编写函数求某年某月某日(**** ** **)是这一年的第几天 。提示:要考虑闰年,闰年的2月是29天(闰年的条件:是4的倍数但不是100的倍数,或者是400的倍数)。编写主函数,输入年月日,测试该函数并输出结果。输入格式 按“yyyy mm dd"的格式输入年月日输出格式 输出一个整数形式的计算结果样例输入1990 5 10样例输出130数据规模和约定 根...原创 2020-04-30 21:33:32 · 4084 阅读 · 0 评论 -
蓝桥试题 算法训练 除法运算 JAVA
问题描述 输入两个整数,判断第一个数能否被第二个数整除(即第一个数除第二个数能否除尽),如果能够除尽,输出1,否则输出0.输入格式 输入两个整数,第一个数表示被除数,第二个数表示除数。输出格式 输出是否能整除,能输出1,不能则输出0。样例输入24 12样例输出1数据规模和约定 输入的两个数均为整数。 思路:这题水的很快乐,就一个if else即可。import...原创 2020-04-30 20:28:34 · 4191 阅读 · 0 评论 -
试题 算法训练 完数 JAVA
问题描述 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6就是“完数”。又如,28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28也是“完数”。编写一个程序,判断用户输入的一个数是否为“完数”。 输入格式:输入只有一行,即一个整数。 输出格式:输出只有一行,如果该数为完数,输出yes,否则输出no。 输入...原创 2020-04-30 12:42:46 · 4085 阅读 · 0 评论 -
蓝桥试题 算法训练 每月的天数 JAVA
问题描述 编写程序,输入月份,输出该月包含的天数,例如1月有31天(设定年份为2015年)输入格式 一个整数:月份输出格式 一个整数:该月的天数样例输入1样例输出31数据规模和约定 输入数据在1~12之间(包含1、12) 思路:给定了2015年,而2015年不是闰年,所以2月是28天。import java.util.Scanner;public clas...原创 2020-04-30 12:18:23 · 4085 阅读 · 0 评论 -
蓝桥试题 算法提高 分解质因数 JAVA
问题描述 给定一个正整数n,尝试对其分解质因数输入格式 仅一行,一个正整数,表示待分解的质因数输出格式 仅一行,从小到大依次输出其质因数,相邻的数用空格隔开样例输入100样例输出2 2 5 5思路:把一个式子以100=2×2×5×5的形式表示,叫做分解质因数。import java.util.Scanner;public class Main { public ...原创 2020-04-30 12:09:18 · 4275 阅读 · 3 评论 -
蓝桥试题 算法训练 时间转换 JAVA
问题描述 给定一个以秒为单位的时间t,要求用“H:M:S”的格式来表示这个时间。H表示时间,M表示分钟,而S表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。输入格式 输入只有一行,是一个整数t(0<=t<=86399)。输出格式 输出只有一行,是以“H:M:S”的格式所表示的时间,不包括引号。样例...原创 2020-04-30 11:29:21 · 4045 阅读 · 0 评论 -
蓝桥试题 算法提高 计算超阶乘 JAVA
问题描述 计算: 1*(1+k)*(1+2*k)*(1+3*k)*...*(1+n*k-k)的末尾有多少个0,最后一位非0位是多少。输入格式 输入的第一行包含两个整数n, k。输出格式 输出两行,每行一个整数,分别表示末尾0的个数和最后一个非0位。样例输入15 2样例输出05思路:规律的话的题目已经给的很清楚了,就是要考虑数大取余的情况下,因为太小则不能通过测试9。...原创 2020-04-29 11:12:17 · 4178 阅读 · 0 评论 -
蓝桥试题 算法提高 矩阵乘法 JAVA
问题描述 小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器。输入格式 输入的第一行包含三个正整数N,M,K,表示一个NM的矩阵乘以一个MK的矩阵。接下来N行,每行M个整数,表示第一个矩阵。再接下来的M行,每行K个整数,表示第二个矩阵。输出格式 输出有N行,每行K个整数,表示矩阵乘法的结果。样例输入2 1 3121 2 3样例输出...原创 2020-04-27 15:46:54 · 4278 阅读 · 0 评论 -
蓝桥试题 算法提高 歌唱比赛 JAVA
问题描述 X市正在进行歌唱比赛,请你写一个程序计算得分。每名选手从1到N编号,每名选手的综合成绩由以下几个部分组成:1.歌唱得分占70%2.才艺展示得分占20%3.观众投票得分占10%4.不超过五分的特殊加分(如果总分超过100分则记为100)输入格式 第一行一个整数N,表示选手人数接下来N行,每行四个整数,分别表示歌唱得分,才艺得分,投票得分和加分。输出格式 输出N行...原创 2020-04-27 15:39:31 · 4121 阅读 · 0 评论 -
蓝桥试题 算法提高 高精度减法 JAVA
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 高精度减法输入格式 两行,表示两个非负整数a、b,且有a > b。输出格式 一行,表示a与b的差样例输入12345678909876543219999样例输出1234567890987644322思路:这么大的数字就直接上BigInteger就可。补充BigInteger的知识点:add ...原创 2020-04-26 20:04:29 · 4223 阅读 · 0 评论 -
蓝桥试题 算法提高 学生成绩统计 JAVA
问题描述 编写一个程序,建立了一条单向链表,每个结点包含姓名、学号、英语成绩、数学成绩和C++成绩,并通过链表操作平均最高的学生和平均分最低的学生并且输出。输入格式 输入n+1行,第一行输入一个正整数n,表示学生数量;接下来的n行每行输入5个数据,分别表示姓名、学号、英语成绩、数学成绩和C++成绩。注意成绩有可能会有小数。输出格式 输出两行,第一行输出平均成绩最高的学生姓名。第二行...原创 2020-04-25 12:32:00 · 4270 阅读 · 0 评论 -
蓝桥试题 算法提高 找出出卖耶稣的人 JAVA
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3…。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒请使用双向链表实现编写该程序,依次输出出局人的编号。输入格式 无输出格式 输出13行,前12行分别是按顺序出局的人的编号...原创 2020-04-25 12:22:31 · 4112 阅读 · 0 评论 -
蓝桥试题 算法提高 计算素数和 JAVA
问题描述 完成一个程序,该程序计算n以内(包含n)的所有素数之和并返回。注意,提交完整的程序代码。输入格式 输入一个整数 n;输出格式 输出n以前所有素数的和。样例输入5样例输出10思路:写一个boolean的方法判断是否是素数,直接在主方法调用+=即可。import java.util.Scanner;public class Main { public sta...原创 2020-04-24 20:24:56 · 4096 阅读 · 0 评论 -
蓝桥试题 算法提高 求最小公倍数 JAVA
问题描述 从键盘输入M、N(M、N取值长整范围)两个数,求它们的最小公倍数。输入格式 输入文件只有一行,有两数被空格隔开,分别表示M、N的值。输出格式 只有一个数,即M、N的最小公倍数。样例输入15 20样例输出60思路:求最小公倍数可以先求其最大公约数,再用两数的乘积除以其最大公约数即可。原文出自这位大佬的C++:http://www.luyixian.cn/news...原创 2020-04-24 09:27:11 · 4203 阅读 · 0 评论 -
蓝桥试题 算法提高 抽卡游戏 JAVA
资源限制时间限制:1.0s 内存限制:256.0MB 某个抽卡游戏卡池抽出限定卡的概率为p,该游戏有一个“井”的机制,抽满k次卡后直接送这张限定卡。试求获得这张限定卡需要的期望抽卡次数。输入为一行,用空格隔开的p和k。输出为一行,即期望抽卡次数,取2位小数样例输入0.005 250样例输出142.88样例说明 第1次抽到的概率为0.005 第2次抽到的概率为(1-0.0...原创 2020-04-23 21:51:14 · 4232 阅读 · 0 评论 -
蓝桥试题 算法提高 字符串匹配 JAVA
问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成。 第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。 ...原创 2020-04-22 16:00:37 · 4248 阅读 · 0 评论 -
蓝桥试题 算法提高 珠心算测验 JAVA
思路:输入数字总数,输入数字,求输入数字两两相加的和有几种情况例如1 2 3 4这四个数字里面只能有1+2=3和1+3=4,那如果是2+3=5,因为输入的数字里没有5,所以不计入最终结果。补充知识点:LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现。LinkedList是List接口链表的实现。基于链表实现的方式使得Li...原创 2020-04-21 20:35:39 · 4322 阅读 · 1 评论 -
蓝桥试题 算法提高 质数 JAVA
问题描述 给定一个正整数N,请你输出N以内(不包含N)的质数以及质数的个数。输入格式 输入一行,包含一个正整数N。输出格式 共两行。 第1行包含若干个素数,每两个素数之间用一个空格隔开,素数从小到大输出。 第2行包含一个整数,表示N以内质数的个数。样例输入10样例输出2 3 5 74思路:写一个boolean方法,判断是否是质数,用List.add存起来,输出的...原创 2020-04-20 19:07:53 · 4380 阅读 · 0 评论 -
蓝桥试题 算法提高 字母大小写转换 JAVA
问题描述 从键盘输入一个字符,如果是大写字母(A-Z),就转换成小写;如果是小写字母(a-z),就转换成大写,如果是其他字符原样保持并将结果输出。输入格式 输入一行,包含一个字符。输出格式 输出一行,即按照要求输出的字符。样例输入a样例输出A思路:直接转成字符数组,然后利用ASCII码值,就可,结果千算万算没算出来这个居然还要求了 @ ( * . ?这几个字符,然后我的代...原创 2020-04-20 16:07:51 · 4511 阅读 · 1 评论 -
十一届蓝桥模拟赛 元辅音字母 JAVA
问题描述 给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。 元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。输入格式 输入一行,包含一个单词,单词中只包含小写英文字母。输出格式 输出两行,第一行包含一个整数,表示元音字母的数量。 第二行包含一个整数,表示辅音字母的数量。样例输入lanqiao样例输出43评测用例规模与约定 ...原创 2020-04-19 09:39:44 · 4100 阅读 · 1 评论 -
十一届蓝桥模拟赛 洁净数有多少个 JAVA
问题描述 小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。 请问在整数 1 至 n 中,洁净数有多少个?输入格式 输入的第一行包含一个整数 n。输出格式 输出一行包含一个整数,表示答案。样例输入30样例输出18评测用例规模与约定 对于 40% 的评测用例,1 <= n <= 10000。 ...原创 2020-04-19 09:29:56 · 4341 阅读 · 0 评论 -
十一届蓝桥模拟赛 元素之间最大的元素距离 JAVA
问题描述 在数列 a_1, a_2, …, a_n中,定义两个元素 a_i 和 a_j 的距离为 |i-j|+|a_i-a_j|,即元素下标的距离加上元素值的差的绝对值,其中 |x| 表示 x 的绝对值。 给定一个数列,请问找出元素之间最大的元素距离。输入格式 输入的第一行包含一个整数 n。 第二行包含 n 个整数 a_1, a_2, …, a_n,相邻的整数间用空格分隔,表示给...原创 2020-04-19 09:17:03 · 4142 阅读 · 0 评论 -
十一届蓝桥模拟赛 十层二叉树结点 JAVA
一棵10层的二叉树,最多包含多少个结点?注意:当一棵二叉树只有一个结点时为一层。思路:一看注意那块就知道它肯定要搞幺蛾子,我是直接在本本上面画了五层二叉树,找到规律后直接上代码,规律就是2的10次幂-1。答案:1023第一种的这个解法着实像个憨憨 -.-#public class Main { public static void main(String[] args) { int ...原创 2020-04-18 23:03:48 · 4383 阅读 · 1 评论 -
十一届蓝桥模拟赛 19000互质的数的个数 JAVA
问题描述 不超过19000的正整数中,与19000互质的数的个数是多少?答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。思路:因为19000的因子为2 5 19 ,所以只需要判断最大公约数没有这些的就可以。有一个快速判断因子的小技巧,偶数则肯定会有一个2,能被5整除则会有一个5,观察数字,你发现能被...原创 2020-04-18 22:47:25 · 4441 阅读 · 1 评论 -
十一届蓝桥模拟赛 70044与113148的最大公约数 JAVA
70044与113148的最大公约数是多少? 思路:这道题目别想那么复杂,就用一层枚举,直接模除出最大的公约数,输出即可。public class Main { public static void main(String[] args) { int ans = 0; // 变量 for (int i = 1; i <= 113148; i++) {...原创 2020-04-18 22:38:32 · 4407 阅读 · 0 评论 -
JAVA 进制转换函数 十进制抓换
其他进制转换十进制 返回类型为int// 第一个参数为字符串,第二个参数为进制System.out.println(Integer.parseInt("1969",2)); // 二进制转换十进制System.out.println(Integer.parseInt("1959",8)); // 八进制进制转换十进制System.out.println(Integer.parseInt...原创 2020-04-17 23:47:24 · 4088 阅读 · 0 评论 -
蓝桥试题 算法提高 删除子字符串 JAVA
问题描述 编写程序,输入两个字符串,从第一个字符串中删除第二个字符串,输出删除后的字符串。例如输入”abcabcd”和”bc”,则输出”aad”。用指针实现。输入格式 输入两个字符串ch1和ch2输出格式 输出删除ch2后的字符串ch1样例输入一个满足题目要求的输入范例。例:abcabcdbc样例输出与上面的样例输入对应的输出。例:aad思路:replce替换一...原创 2020-04-16 17:36:23 · 4373 阅读 · 2 评论 -
蓝桥试题 算法提高 P0101 JAVA
资源限制时间限制:1.0s 内存限制:256.0MB 一个水分子的质量是3.0*10-23克,一夸脱水的质量是950克。写一个程序输入水的夸脱数n(0 <= n <= 1e10),然后输出水分子的总数。输入 109.43输出 3.465283E+027 思路:https://blog.csdn.net/mcp3128/article/details/...原创 2020-04-16 16:13:03 · 4500 阅读 · 2 评论 -
蓝桥试题 算法提高 菱形 JAVA
资源限制时间限制:1.0s 内存限制:256.0MB 请编程输出一个菱形。输入为菱形中心到顶点的距离样例输入2样例输出 * ******** *** *思路:把上半部分解决,倒序输出下半部分即可。核心内容就是,它怎么取空格数,怎么得出每行的*号数,这样再去理解会好很多。import java.util.Scanner;public class Main {...原创 2020-04-15 11:13:17 · 4372 阅读 · 3 评论 -
蓝桥试题 算法提高 冒泡法排序 JAVA
资源限制时间限制:1.0s 内存限制:512.0MB 输入10个数,用“冒泡法”对10个数排序(由小到大)这10个数字在100以内。样例输入1 3 6 8 2 7 9 0 4 5样例输出0 1 2 3 4 5 6 7 8 9思路:直接数组存,完了排序一把,直接输出即可。import java.util.Arrays;import java.util.Scanner;pu...原创 2020-04-14 17:32:33 · 4490 阅读 · 6 评论