![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
蓝桥杯算法训练
蓝桥杯算法训练的题目
陌丶尘
这个作者很懒,什么都没留下…
展开
-
平方拆分java
【问题描述】将 2019 拆分为若干个两两不同的完全平方数之和,一共有多少种不同的方法?注意交换顺序视为同一种方法,例如 132 + 252 + 352 = 2019 与 132 + 352 +252 = 2019 视为同一种方法。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。思路:首先找到哪个数字的平方是大于2019的(45),于是我们就从45以内的数字找答案。最通俗的解法,每个数字都有选和不选的两原创 2020-11-10 21:02:00 · 1062 阅读 · 0 评论 -
递增序列java
对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这两个字母从左向右看、或者从上向下看是递增的。例如,如下矩阵中LANNQIAO有LN、LN、AN、AN、IO、AO、LQ、AI、NO、NO、AQ、IN、AN 等 13 个递增序列。注意当两个字母是从左下到右上排列时,从左向右看和从上向下看是不同的顺序。对于下面的 30 行 50 列的矩阵,请问总共有多少个递增序列?(如果你把以下文字复制到文本文件中,请务必检查复制的内原创 2020-11-09 20:25:43 · 1183 阅读 · 2 评论 -
平方十位数java
由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。这其中也有很多恰好是平方数(是某个数的平方)。比如:1026753849,就是其中最小的一个平方数。请你找出其中最大的一个平方数是多少?注意:你需要提交的是一个10位数字,不要填写任何多余内容public class for8_1 { public static void main(String[] args) { // TODO Auto-generated method stub for(long i=99999;;i--原创 2020-11-02 10:41:55 · 231 阅读 · 0 评论 -
路径之谜java
小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n x n 个方格。【如图1.png】所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n 个靶子)同一个方格只允许经过一次。但不必做完所有的方格。如果只给出靶子上箭的数目,你能推断出骑士的行走路线吗?有时是可以的,比如图1.png中的例子。本题的要求就是已知箭靶数字,求骑士的原创 2020-11-02 10:00:19 · 190 阅读 · 0 评论 -
反幻方java
我国古籍很早就记载着2 9 47 5 36 1 8这是一个三阶幻方。每行每列以及对角线上的数字相加都相等。下面考虑一个相反的问题。可不可以用 1~9 的数字填入九宫格。使得:每行每列每个对角线上的数字和都互不相等呢?这应该能做到。比如:9 1 28 4 37 5 6你的任务是搜索所有的三阶反幻方。并统计出一共有多少种。旋转或镜像算同一种。比如:9 1 28 4 37 5 67 8 95 4 16 3 22 1 93 4 86 5 7等都算作同一种情况。请提原创 2020-11-02 09:08:50 · 115 阅读 · 0 评论 -
愤怒小鸟java
X星球愤怒的小鸟喜欢撞火车!一根平直的铁轨上两火车间相距 1000 米两火车 (不妨称A和B) 以时速 10米/秒 相对行驶。愤怒的小鸟从A车出发,时速50米/秒,撞向B车,然后返回去撞A车,再返回去撞B车,如此往复…两火车在相距1米处停车。问:这期间愤怒的小鸟撞 B 车多少次?注意:需要提交的是一个整数(表示撞B车的次数),不要填写任何其它内容。public class for7_1 { static int res = 0; static int count = 0;//计算撞了原创 2020-11-02 08:57:47 · 252 阅读 · 0 评论 -
穿越雷区java
X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。例如:A + - + -B + - + -坦克车只能水平或垂直方向上移动到相邻的区。数据格式要求:输入第原创 2020-10-30 19:39:09 · 227 阅读 · 0 评论 -
五星填数java
如【图1.png】的五星图案节点填上数字:1~12,除去7和11。要求每条直线上数字和相等。如图就是恰当的填法。请你利用计算机搜索所有可能的填法有多少种。注意:旋转或镜像后相同的算同一种填法。请提交表示方案数目的整数,不要填写任何其它内容。思路:进行全排列(除7,11),然后进行判断,对应的数组位置如下(有点丑)。重复的情况:有五个角所以有5种,镜像也是相同的,就是5*2=10种。public class for6_2 { static int[] mark = new int[20]原创 2020-10-30 09:19:12 · 306 阅读 · 2 评论 -
分机号java
X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位。比如:751,520,321 都满足要求,而,766,918,201 就不符合要求。现在请你计算一下,按照这样的规定,一共有多少个可用的3位分机号码?请直接提交该数字,不要填写任何多余的内容。答案:120(应该是对的吧,emmmm)public class for6_1 { public static void main(String[] args) { // TODO Auto-gen原创 2020-10-30 08:58:31 · 266 阅读 · 0 评论 -
排列序数java
题目描述如果用a b c d这4个字母组成一个串,有4!=24种,如果把它们排个序,每个串都对应一个序号:abcd 0abdc 1acbd 2acdb 3adbc 4adcb 5bacd 6badc 7bcad 8bcda 9bdac 10bdca 11cabd 12cadb 13cbad 14cbda 15cdab 16cdba 17…现在有不多于10个两两不同的小写字母,给出它们组成的串,你能求出该串在所有排列中的序号吗?【原创 2020-10-29 11:25:41 · 310 阅读 · 0 评论 -
六角幻方java
标题:六角幻方 把 1 2 3 ... 19 共19个整数排列成六角形状,如下: * * * * * * * * * * * * * * * * * * * 要求每个直线上的数字之和必须相等。共有15条直线哦! 再给点线索吧!我们预先填好了2个数字,第一行的头两个数字是:15 13,参见图【p1.png】,黄色一行为所求。 请你填写出中间一行的5个数字。数字间用空格分开。 这是一行用空格分开的整数,请通过浏览器提交答案,不要填...原创 2020-10-29 10:51:55 · 225 阅读 · 0 评论 -
国王的遗产java
题目描述X国是个小国。国王K有6个儿子。在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子。其中,大儿子分1/4,二儿子1/5,三儿子1/6,....直到小儿子分1/9。牛是活的,不能把一头牛切开分。最后还剩下11头牛,分给管家。请计算国王这批遗产中一共有多少头牛。这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)public class for5_1 { public static void main(String[] args) { /原创 2020-10-29 09:51:34 · 1427 阅读 · 0 评论 -
素数筛选法java
import java.util.Scanner;public class 素数筛 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner read = new Scanner(System.in); int n = read.nextInt(); boolean[] judge = new boolean[n+1]; int[] prime = new int[n原创 2020-10-29 09:31:18 · 167 阅读 · 0 评论 -
最大乘积java
题目:题目描述把 1~9 这9个数字分成两组,中间插入乘号,有的时候,它们的乘积也只包含1~9这9个数字,而且每个数字只出现1次。比如:984672 * 351 = 34561987298751 * 3462 = 3418759629 * 87146325 = 784316925…符合这种规律的算式还有很多,请你计算在所有这些算式中,乘积最大是多少?输出输出一个整数表示答案思路:暴力就完事了(笑)package 历届;import java.util.HashMap;impo原创 2020-10-28 22:45:11 · 252 阅读 · 0 评论 -
格子刷油漆java
题目描述X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如图1所示),现需要把这些格子刷上保护漆。你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!)比如:a d b c e f 就是合格的刷漆顺序。c e f d a b 是另一种合适的方案。当已知 N 时,求总的方案数。当N较大时,结果会迅速增大,请把结果对 1000000007 (十亿零七) 取模。输入数据为一个正整数(不大于1000)输出数据为一个整数原创 2020-10-27 22:34:31 · 274 阅读 · 0 评论 -
九宫重排(bfs)java
题目描述如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。我们把第一个图的局面记为:12345678.把第二个图的局面记为:123.46758显然是按从上到下,从左到右的顺序记录数字,空格记为句点。本题目的任务是已知九宫的初态和终态,求最少经过多少步的移动可以到达。如果无论多少步都无法到达,则输出-1。输入输入第一行包含九宫的初态,第二行包含九宫的终态。输出输出最少的步数,如果原创 2020-10-27 20:57:38 · 542 阅读 · 2 评论 -
连续奇数和java
题目描述小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和。比如:2^3 = 8 = 3 + 53^3 = 27 = 7 + 9 + 114^3 = 64 = 1 + 3 + … + 15虽然他没有想出怎么证明,但他想通过计算机进行验证。请你帮助小明写出 111 的立方之连续奇数和表示法的起始数字。如果有多个表示方案,选择起始数字小的方案。请严格按照要求,通过浏览器提交答案。注意:只提交一个整数,不要写其它附加内容,比如:说明性的文字。思路:看代码,但是应该有简单的,比如等差原创 2020-10-27 15:40:13 · 260 阅读 · 0 评论 -
猜灯谜java
题目描述A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字。请你用计算机按小明的思路算一下,然后提交“请猜谜”三个字所代表的整数即可。请严格按照格式,通过浏览器提交答案。注意:只提交一个3位的整数,不要写其它附加内容,比如:说明性的文字。思路:由题意得,一个三位数的平方为6位数,想了一下,300的平方为5位数,所以这个数是300+。代码如下:package 历届;public class four_原创 2020-10-27 15:27:46 · 493 阅读 · 0 评论 -
寻找2020java 蓝桥杯
题目给了一个txt文件,我们首先要做的就是知道数据的有多少行。由下图和代码知道有300行。import java.math.BigInteger;import java.util.Scanner;public class test { public static void main(String[] args) { Scanner read = new Scanner(System.in); String s = ""; for(int i=1;;i++) { s = .原创 2020-10-17 15:33:20 · 2893 阅读 · 11 评论 -
蛇形填数java 蓝桥杯
由下图可知:1为第一行第一列,5为第二行第二列,13为第三行第三列。由此我们可以得到公式(n-1)*2(斜行) + n(数字),举例设n2,有2斜行 + 2,即1+2 +2=5,设n3,有4斜行 + 3,即1+2+3+4 +3=13。当n==20时,即38斜行+20,1+2+3+4+5+…+38 +20=761...原创 2020-10-17 15:08:22 · 1077 阅读 · 0 评论 -
分配口罩java
【问题描述】某市市长获得了若干批口罩,每一批口罩的数目如下:(如果你把以下文字复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 mask.txt,内容与下面的文本相同)9090400849940059268008547000495820044226005751200417560063096005865200660440046350001066340080872004554000现在市长要把口罩分配给市内的 2 所医院。由于物流限制,每一批原创 2020-10-12 21:27:03 · 890 阅读 · 7 评论 -
八次求和java
【问题描述】给定正整数 n, 求 18 + 28 + · · · + n8 mod 123456789 。其中 mod 表示取余。【输入格式】输入的第一行包含一个整数 n。【输出格式】输出一行,包含一个整数,表示答案。【样例输入】2【样例输出】257【样例输入】987654【样例输出】43636805【评测用例规模与约定】对于 20% 的评测用例,1 ≤ n ≤ 20。对于 60% 的评测用例,1 ≤ n ≤ 1000。对于所有评测用例,1 ≤ n ≤ 1000000。原创 2020-10-10 15:46:34 · 401 阅读 · 3 评论 -
斐波那契数列最大公约数java
【问题描述】斐波那契数列满足 F1 = F2 = 1,从 F3 开始有 Fn = Fn 1 + Fn 2。请你计算GCD(F2020, F520),其中 GCD(A, B) 表示 A 和 B 的最大公约数。【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分import java.math.BigInteger;public class Main7 { public static void main(Str原创 2020-10-10 15:45:35 · 669 阅读 · 2 评论 -
未名湖边的烦恼java
问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式 两个整数,表示m和n输出格式 一个整数,表示队伍的排法的方案数。样例输入3 2样例输出5数据规模和约定 m,n∈[0,18]原创 2020-08-22 22:41:15 · 126 阅读 · 0 评论 -
蓝桥杯算法训练 最短路java
问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于10%的数据,n = 2,m = 2。对于30%的数据,n <= 5,m <= 10原创 2020-05-11 15:59:23 · 557 阅读 · 0 评论 -
蓝桥杯算法训练 K好数java
问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模后的值。样例输入4 2样例输出7数据规模与约定对于30%的数据,KL <= 106;对于50%的数据,原创 2020-05-10 23:58:50 · 177 阅读 · 0 评论 -
蓝桥杯算法训练 最大最小公倍数java
问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 <= N <= 106。思路:肯定不能用暴力,学习分析传送门代码如下:import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO A原创 2020-05-10 23:28:37 · 68 阅读 · 0 评论 -
蓝桥杯算法训练 区间k大数查询java
问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答案。样例输入51 2 3 4 521 5 22 3 2样例输出42数据规模与约定对于30%的数据,n,m<原创 2020-05-10 23:17:11 · 95 阅读 · 0 评论 -
蓝桥杯算法训练 接水问题java
问题描述 学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为1。 现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1 到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打 开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k 马上接替j 同学的位置开始接...原创 2020-04-28 19:48:07 · 390 阅读 · 0 评论 -
蓝桥杯算法训练 Hankson的趣味题java
问题描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson。现 在,刚刚放学回家的Hankson 正在思考一个有趣的问题。 今天在课堂上,老师讲解了如何求两个正整数c1 和c2 的最大公约数和最小公倍数。现 在Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公 倍数”之类问题的“逆问题”,这个问题是这样的:已知...原创 2020-04-28 19:12:29 · 241 阅读 · 0 评论 -
蓝桥杯算法训练 传球游戏java
【问题描述】 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少...原创 2020-04-23 19:23:58 · 223 阅读 · 0 评论 -
蓝桥杯算法训练 纪念品分组java
问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时 间内发完所有纪念品,乐乐希望分组的数目最少。 你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。输入格式 ...原创 2020-04-23 18:51:48 · 614 阅读 · 0 评论 -
蓝桥杯算法训练 数列java
问题描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13,… (该序列实际上就是:30,31,30+31,32,30+32,31+32,30+31+32,…) 请你求出这个序列的第N项的值(用10进制数表示)。 例如,对于k=3,N=100,正确答案应该是98...原创 2020-04-23 18:16:10 · 273 阅读 · 0 评论 -
蓝桥杯算法训练 开心的金明java
问题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎 么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一 个重要度,分为5等:用整数1~5表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是整...原创 2020-04-23 16:54:09 · 216 阅读 · 0 评论 -
蓝桥杯算法训练 入学考试java
问题描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果...原创 2020-04-23 16:39:56 · 207 阅读 · 0 评论 -
蓝桥杯算法训练 校门外的树java
问题描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数 轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已 知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括...原创 2020-04-22 20:00:00 · 480 阅读 · 1 评论 -
蓝桥杯算法训练 星际交流java
问题描述 人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样 的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回 答。 火星人用一种非常简单的方式来表示数字——掰手指。火星人只有一只手,但这只手上有成千上...原创 2020-04-22 19:33:35 · 285 阅读 · 0 评论 -
蓝桥杯算法训练 FBI树java
问题描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下: 1)T的根结点为R,其类型与串S的类型相同; 2)若串S的长度大于1,将串S从中间分开,分为等长的左右...原创 2020-04-22 16:41:28 · 532 阅读 · 0 评论 -
蓝桥杯算法训练 麦森数java
问题描述 形如2P-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数,2P-1不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。 任务:从文件中输入P(1000<P<3100000),计算2P-1的位数和最后500位数字(用十进制高精度数表示)输入格...原创 2020-04-21 20:22:16 · 743 阅读 · 0 评论 -
蓝桥杯算法训练 统计单词个数java
问题描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份 (1<k<=40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例 如字符串this中可包含this和is,选用this之后就不能包含th)。 单词在给出的一个...原创 2020-04-21 18:59:41 · 380 阅读 · 0 评论