![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯算法
文章平均质量分 58
运用Java语言进行算法
小小CX
这个作者很懒,什么都没留下…
展开
-
输入一个数,求1~n个数的排列组合(补充上一篇博客的代码实现)
输入一个数,求1~n个数的排列组合(补充上一篇博客的代码实现)原创 2022-10-25 23:20:37 · 234 阅读 · 0 评论 -
n个数字生成排列组合对象的算法(Johnson-Trotter)
排列组合算法原创 2022-10-24 11:47:16 · 753 阅读 · 0 评论 -
第十届蓝桥杯java-等差数列
【问题描述】数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?【输入格式】输入的第一行包含一个整数 N。第二行包含 N 个整数 A 1 ,A 2 ,··· ,A N 。(注意 A 1 ∼ A N 并不一定是按等差数列中的顺序给出)【输出格式】输出一个整数表示答案。【样例输入】52 6 4 10 20【样例输出】10【样例说明】包含 2、6、4、10、原创 2020-05-16 14:39:01 · 1376 阅读 · 4 评论 -
蓝桥杯第九届java C组-约瑟夫环
n 个人的编号是 1~n,如果他们依编号按顺时针排成一个圆圈,从编号是1的人开始顺时针报数。(报数是从1报起)当报到 k 的时候,这个人就退出游戏圈。下一个人重新从1开始报数。求最后剩下的人的编号。这就是著名的约瑟夫环问题。 本题目就是已知 n,k 的情况下,求最后剩下的人的编号。 题目的输入是一行,2个空格分开的整数n, k要求输出一个整数,表示最后剩下的人的编号。 约定:0 < n,k < 1百万 例如输入:10 3 程序应该输出:4import java.原创 2020-05-18 15:00:55 · 311 阅读 · 0 评论 -
JAVA-蓝桥杯-历届试题 错误票据
问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输入一个整数N(N<100)表示后面数据行数。接...原创 2020-04-17 18:55:19 · 177 阅读 · 0 评论 -
蓝桥杯-第十届蓝桥杯真题(外卖优先级)
【问题描述】“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0。每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果优先级小于等于 3,则会被清除出优先缓存。给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优先缓存中。【输入格式】第一行包含 3原创 2020-05-13 22:58:11 · 515 阅读 · 2 评论 -
JAVA-蓝桥杯-历届试题 翻硬币
问题描述小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫...原创 2020-04-17 19:25:29 · 182 阅读 · 0 评论 -
第十届蓝桥杯大赛软件类省赛 Java 大学 C 组-试题 B: 矩形切割
小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。例如,对于一块两边分别为 5 和 3 的材料(记为 5 × 3),小明会依次切出3 × 3、2 × 2、1 × 1、1 × 1 共 4 个正方形。现在小明有一块矩形的材料,两边长分别是 2019 和...原创 2020-05-07 22:05:09 · 483 阅读 · 1 评论 -
第九届蓝桥杯javaC组-哪天返回
小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。请计算一下,小明在第几天就能凑够108元,返回地球。要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。————————————————版权声明:本文为CSDN博主「方小傑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原创 2020-05-22 13:04:45 · 211 阅读 · 0 评论 -
第十一届蓝桥杯模拟题Java-小明的城堡
小明用积木搭了一个城堡。 为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个 n 行 m 列的方格图 上,每个积木正好占据方格图的一个小方格。 当然,小明的城堡并不是平面的,而是立体的。小明可以将积木垒在别的积木上面。当一个方 格上的积木垒得比较高时,就是一个高塔,当一个方格上没有积木时,就是一块平地。 小明的城堡可以用每个方格上垒的积木层数来表示。例如,下面就表示一个城堡。 9 3 3 1 3 3 3 0 0 0 0 0 这个城堡南面和东面都有空地,西北面原创 2020-05-24 19:55:17 · 379 阅读 · 0 评论 -
JAVAC组第十一届模拟题(十六进制转化为十进制)
问题描述 用户输入一个十六进制的字符串,然后把十六进制转化为十进制。 如: 用户输入:ABC123 结果:11256099方法一:import java.util.Scanner;public class 十六进制转为10进制 { /** * 公式:十六进制:1234 * 则转为十进制为:1*16^3 + 2*16^2 + 3*16^1 + 4*16^0 = */ public static void main(String[] args) { // TO原创 2020-05-29 12:05:49 · 240 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高 矩形靶
问题描述 在矩形的世界里任何事物都是矩形的,矩形的枪靶,甚至矩形的子弹。现在给你一张N*M的枪 靶,同时告诉你子弹的大小为(2l+1)*(2r+1)。读入一张01的图每个点的01状态分别表示这个 点是否被子弹的中心击中(1表示被击中,0则没有)一旦一个点被子弹的中心击中,那么以这 个点为中心 (2l+1)*(2r+1) 范围内靶子上的点都会被击毁。要求输出最终靶子的状态。输入格式...原创 2020-04-22 11:02:34 · 188 阅读 · 0 评论 -
JAVA-蓝桥杯-基础练习 矩阵乘法
问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行N个整数,...原创 2020-04-22 12:55:30 · 227 阅读 · 0 评论 -
JAVA-贪心算法-硬币问题
问题描述:有1元,5元,10元,50元,100元,500元的硬币各c1,c5,c10,c50,c100,c500枚.现在要用这些硬币来支付A元,最少需要多少枚硬币?假定本题至少存在一种支付方案.0≤ci≤10^90≤A≤10^9输入:第一行有六个数字,分别代表从小到大6种面值的硬币的个数第二行为A,代表需支付的A元样例:输入:3 2 1 3 0 2620输出:6i...原创 2020-04-16 21:04:06 · 939 阅读 · 0 评论 -
JAVA-字符串替换
用户输入一个字符创,以换行为结束符,把字符串中的空格替换成“20%”代码如下:import java.util.Scanner;public class 字符串替换 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub S...原创 2020-04-23 23:21:18 · 248 阅读 · 0 评论 -
JAVA-字符串压缩
用户输入串字符串,里面含有相同的字符,请找出连续相同的字符,并替换成数字,该数字为连续相同的个数列如:streinnnnggdkddd中间有四个“n”连续相同,则“nnnn”替换成“4n”,代表4个n输出:strein4g2dkd3代码如下:import java.util.Scanner;public class 字符串压缩 { /** * @param args *...原创 2020-04-23 22:44:42 · 203 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高 删除子字符串
问题描述 编写程序,输入两个字符串,从第一个字符串中删除第二个字符串,输出删除后的字符串。例 如输入”abcabcd”和”bc”,则输出”aad”。用指针实现。输入格式 输入两个字符串ch1和ch2输出格式 输出删除ch2后的字符串ch1样例输入一个满足题目要求的输入范例。例:abcabcdbcimport java.util.Scanner;public ...原创 2020-04-25 22:54:07 · 270 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高 字符串的操作
问题描述 给出一个字符串S,然后给出q条指令,分别有4种: 1. Append str 表示在S的最后追加一个字符串str。 例: 原字符串:ABCDE 执行 Append FGHIJ 后 字符串变为:ABCDEFGHIJ 2. Insert x str 表示在位置x处插入一个字符串str。(输入保证0<x<=当前字符串长度) 例: 原字...原创 2020-05-04 12:47:43 · 404 阅读 · 0 评论 -
JAVA-旋转字符串
用户给定长度相等的两个字符串n,m,判断m是否为n的旋转字符串。说明:abcdef的旋转字符串为:fabcdeefabcddefabccdefabbcdefa案例1:n字符串:abcdefm字符串:fabcde输出结果:true案例2:n字符串:abcdefm字符串:fabcde输出结果:trueimport java.util.Scanner;publ...原创 2020-04-27 22:32:59 · 211 阅读 · 0 评论 -
JAVA-去除字符串中连续出现k次的0
去除字符串中连续出现k次的0,如果不是连续出现k次的就保留例如:给定一个字符串“abc000ejjg0000jg00”现在要去掉连续出现3个0的字符那么结果应该就是:abcejjg0jg00import java.util.Scanner;public class 去除字符串中连续出现k次的0 { /** * @param args */ public static ...原创 2020-04-27 22:15:15 · 279 阅读 · 0 评论 -
第八届蓝桥杯javac组-承压计算
第四题:承压计算题目描述X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。75 87 8 89 2 7 28 1 4 9 18 1 8 8 4 17 9 6 1 4 5 45 6 5 5 6 9 5 65 5 4 7 9 3 5 5 17 5 7 9 7 4 7 3 3 14 6 4 5 5 8 8 3 2 4 31 1 3 3 1 6 6 5 5 4 4 29 9 9 2 1 9 1 9 2原创 2020-06-06 21:32:32 · 320 阅读 · 0 评论 -
第八届蓝桥杯javaC组-兴趣小组
第二题:兴趣小组题目描述为丰富同学们的业余文化生活,某高校学生会创办了3个兴趣小组(以下称A组,B组,C组)。每个小组的学生名单分别在【A.txt】,【B.txt】和【C.txt】中。每个文件中存储的是学生的学号。由于工作需要,我们现在想知道:既参加了A组,又参加了B组,但是没有参加C组的同学一共有多少人?请你统计该数字并通过浏览器提交答案。注意:答案是一个整数,不要提交任何多余的内容。笨笨有话说:哇塞!数字好多啊!一眼望过去就能发现相同的,好像没什么指望。不过,可以排序啊,要是每原创 2020-06-06 21:28:07 · 215 阅读 · 0 评论 -
第八届蓝桥杯JAVAC组-外星日历
第一题:外星日历题目描述某星系深处发现了文明遗迹。他们的计数也是用十进制。他们的文明也有日历。日历只有天数,没有年、月的概念。有趣的是,他们也使用了类似“星期”的概念,只不过他们的一个星期包含了9天,为了方便,这里分别记为: A,B,C…H,I从一些资料上看到,他们的23日是星期E他们的190日是星期A他们的343251日是星期I令人兴奋的是,他们居然也预见了“世界末日”的那天,当然是一个很大很大的数字651764141421415346185请你计算一下,这遥远的一天是该文明原创 2020-06-06 21:25:24 · 209 阅读 · 0 评论 -
第十一届蓝桥杯——javaC组
试题 A: 约数个数本题总分:5 分【问题描述】对于一个整数,能整除这个整数的数称为这个数的约数。例如:1, 2, 3, 6 都是 6 的约数。请问 78120 有多少个约数。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。答案:96试题 B: 寻找 2020本题总分:5 分【问题描述】小蓝有一个数字矩阵,里面只包含数字 0 和 2。小蓝很喜欢 2020,他想找到这个数字矩阵中有多少个 2原创 2020-10-17 21:24:32 · 4247 阅读 · 14 评论 -
JAVA-蓝桥杯-算法训练 矩阵乘法
问题描述 输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200)。 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。 接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。输出格式 m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。import java.util.S...原创 2020-04-02 23:57:40 · 188 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高-书院主持人
问题描述 北大附中书院有m个同学,他们每次都很民主地决策很多事情。按罗伯特议事规则,需要一个 主持人。同学们民主意识强,积极性高,都想做主持人,当然主持人只有一人。为了选出主 持人,他们想到了一个办法并认为很民主。方法是: 大家围成一圈,从1到m为每个同学编号。然后从1开始报数, 数到n的出局。剩下的同学从下 位开始再从1开始报数。最后剩下来的就是主持人了。现在已经把同学从1到...原创 2020-04-08 15:53:05 · 184 阅读 · 0 评论 -
JAVA-蓝桥杯- 算法训练 生活大爆炸版石头剪刀布
题目略。import java.util.Scanner; public class Main{ public static void f(int arr[],int arr1[],int a,int b,int num){ int sumA = 0;int sumB=0; for (int j = 0,i=0,s=0; s <num; s++)...原创 2020-04-27 11:47:48 · 458 阅读 · 0 评论 -
java蓝桥杯-算法训练 天数计算
编写函数求某年某月某日(**** ** **)是这一年的第几天 。提示:要考虑闰年, 闰年的2月是29天(闰年的条件:是4的倍数但不是100的倍数,或者是400的倍数)。 编写主函数,输入年月日,测试该函数并输出结果。import java.util.Scanner;public class Main{ /** * @param args */ public stat...原创 2020-03-27 22:19:02 · 175 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高-多项式输出
问题描述 一元n 次多项式可用如下的表达式表示: f(x)=a[n]x^n+a[n-1]x^(n-1)+...+a[1]x+a[0], a[n]!=0 其中,a[i]x^i称为i 次项, a[i]称为i 次项的系数。给出一个一元多项式各项的次数和系 数,请按照如下规定的格式要求输出该多项式: 1. 多项式中自变量为x,从左到右按照次数递减顺序给出多项式。 2. 多项式中只包...原创 2020-04-07 15:27:52 · 193 阅读 · 0 评论 -
JAVA-蓝桥杯-算法训练 s01串
问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01样例输入3样例输出101import java.util.Scanner;public class S01串 { /** * @param args */ public static String f(int num){ //返回字符串 if(num==1){ ...原创 2020-04-12 10:30:39 · 111 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高 字符串匹配
问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小 写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时, 表示同一个字母的大写和小写看作相同的字符。输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成。 第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时 表示...原创 2020-04-03 16:44:52 · 454 阅读 · 0 评论 -
JAVA-蓝桥杯-算法训练-猴子吃包子
问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。import java.util.Scanner;public class 猴子吃包子问题 { /** * @param ...原创 2020-03-29 22:44:41 · 586 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高 不同单词个数统计
问题描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如:对于句子 “one little two little three little boys”,总共有5个不同的单词:one, little, two, three, boys。 说明:(1)由于句子当中包含有空格,所以应该用gets函数来输入这个句子;(2)输入的句 子当中只包含英文字符和空格,...原创 2020-04-13 09:44:50 · 325 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高 交换Easy
问题描述 给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终的序列。输入格式 第一行为序列的大小N(1<=N<=1000)和操作个数M(1<=M<=1000)。 第二行包含N个数字,表示初始序列。 接下来M行,每行两个整数x,y (1<=x,y<=N),表示要交换的两个整数。在一次交换中, 如果x和y相等,则不会改变序列的...原创 2020-04-06 22:46:15 · 245 阅读 · 0 评论 -
JAVA-蓝桥杯算法提高 勾股数
问题描述 勾股数是一组三个自然数,a < b < c,以这三个数为三角形的三条边能够形成一个直角三角形 输出所有a + b + c <= 1000的勾股数 a小的先输出;a相同的,b小的先输出。代码如下:import java.util.Scanner;public class Main { public static void main(String[] ...原创 2020-03-29 22:58:25 · 238 阅读 · 0 评论 -
JAVA-数组中最长连续递增子序列
题目描述:找出一个数组中最长连续递增子序列(部分有序),例如: (1, 9 , 2 , 5 , 7 , 3 , 4 , 6, 8,0, )中递增的子序列有:(1,9)、(2,5)、(5,7)、(3,4,6,8)则最长的递增子序列 为(3, 4, 6, 8)import java.util.Scanner;public class 最长连续递增序列 { /** * @para...原创 2020-04-03 16:57:12 · 1858 阅读 · 0 评论 -
JAVA-蓝桥杯-算法训练 集合运算
问题描述 给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。输入格式 第一行为一个整数n,表示集合A中的元素个数。 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。 第三行为一个整数m,表示集合B中的元素个数。 第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。 集合中的所有元素均为int范围内的整数,n、m<=1000。输出格...原创 2020-03-27 12:51:25 · 958 阅读 · 0 评论 -
JAVA-蓝桥杯-算法提高-转置矩阵
【问题描述】 给定一个n×m矩阵相乘,求它的转置。其中1≤n≤20,1≤m≤20,矩阵中的每个元素都在整数类型(4字节)的表示范围内。【输入格式】 第一行两个整数n和m; 第二行起,每行m个整数,共n行,表示n×m的矩阵。数据之间都用一个空格分隔。【输出格式】 共m行,每行n个整数,数据间用一个空格分隔,表示转置后的矩阵。代码如下import java.util.Sc...原创 2020-03-30 12:44:21 · 228 阅读 · 0 评论 -
JAVA-蓝桥杯-算法训练-瓷砖铺放
问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2, 数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有如下5种铺法: 4=1+1+1+1 4=2+1+1 4=1+2+1 4=1+1+2 4=2+2 编程用递归的方法求解上述问题。代码如下:import jav...原创 2020-03-31 15:59:26 · 545 阅读 · 0 评论 -
java -蓝桥杯-算法提高-身份证号码升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。 升级方法为: 1、把15位身份证号码中的年份由2位(7,8位)改为四位。 2、最后添加一位验证码。验证码的计算方案: 将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加 ,然后除以 11 取余数,0-10 分...原创 2020-04-02 17:11:14 · 359 阅读 · 0 评论