![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
1while(true){learn}
日常笔记
展开
-
蓝桥杯第十三届Java真题(B组)
答案:7答案:3138原创 2022-04-09 13:56:10 · 942 阅读 · 6 评论 -
蓝桥准备(Java)
时间计算LocalDate(年月日)LocalDateTime(年月日时分秒)计算两个日期之间相差多少天 //计算2002.6.20到现在过去了几天 long day = ChronoUnit.DAYS.between(LocalDate.of(2002, 6, 20), LocalDate.now()); System.out.println(day);计算当前日期多少年前(多少年后)是星期几,这个月的几号 //创建指定时间对象原创 2022-03-30 11:21:32 · 183 阅读 · 0 评论 -
蓝桥练习题
拼数问题描述设有n个正整数 A1、A2、. . . 、An,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。输入描述第一行有一个整数,表示数字个数 n。第二行有 n 个数,表示给出的 n 个整数。其中 1 ≤ n ≤ 20,1 ≤ A ≤ 10^9输出描述输出一个正整数,表示可以组成的最大的整数。样例输入:313 312 343样例输出:34331213解题思路:将输入的数存入String数组通过字典序排序按照首位大小进行降序排序下面代码的关键在于.c原创 2021-12-04 19:02:47 · 1572 阅读 · 0 评论 -
阶乘计算
题目描述输入一个正整数 n,输出 n! 的值。n <= 1000。这是一道高精度题目,需要处理大数。使用数组一定会溢出,可以使用Java专门的类BigInteger来处理大数import java.math.BigInteger;import java.util.Scanner;public class Tree { public static void main(String[] args) { Scanner sc = new Scanner(System.in);原创 2021-11-27 16:58:10 · 261 阅读 · 0 评论 -
等差数列(2019省赛)
问题描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?样例输入52 6 4 10 20样例输出10样例说明 包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、16、 18、20。解题思路:既然它一定是等差数列,我们只需要对其进行排序,然后求出最小公差,向后累加到最大的数,记录用了多少次。还有就是考虑公原创 2021-11-22 19:55:15 · 402 阅读 · 0 评论 -
回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。样例输入3 31 2 34 5 67 8 9样例输出1 4 7 8 9 6 3 2 5解题思路:我们可以把把这个问题看成4步,下->右->上->左,然后一直循环,每次循环改变起点import java.util.Scanner;public class Main { //计数器 static int count = 0; /原创 2021-11-22 10:31:19 · 111 阅读 · 0 评论 -
数列求值 (2019省赛)
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。给定数列1, 1, 1, 3, 5, 9, 17⋯,从第4项开始,每项都是前3项的和。求第2019032420190324项的最后4位数字。解题思路:这道题要求的是第2019032420190324项上的数字,无论使用long还是Biginteger都会溢出,但它要的只是该数字的最后4位,那么我们只需要在累加的时候模除10000就不会溢出public class Main { pu...原创 2021-11-21 16:20:53 · 244 阅读 · 0 评论 -
平方和(2019省赛)
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小明对数位中含有2、0、1、92、0、1、9的数字很感兴趣,在11到4040中这样的数包括1、2、9、101、2、9、10至32、3932、39和4040,共2828个,他们的和是574574,平方和是1436214362。注意,平方和是指将每个数分别平方后求和。请问,在1到20192019中,所有这样的数的平方和是多少?import java.util.Scanner;...原创 2021-11-21 16:02:25 · 441 阅读 · 0 评论 -
乘积尾零(2018省赛)
如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 3135 1170 4014 5510 5120 729 2880 90192049 698 4582 4346 ...原创 2021-11-21 15:45:53 · 208 阅读 · 0 评论 -
星期一(2018省赛)
题目描述:整个20世纪1901.1.1-200.12.31)一共有多少个星期一Ecel解法(省去计算闰年):在A列的第一格输入1901年1月1日,B列的第一格输入2000年12月31日,C列的第一格输入=(B1-A1)/7,得出的结果为5217.714,也就是一共有5217个周如果2000年12月31日是星期一则结果为5218个星期一,如果不是结果为5217个星期一。右击该格查看其属性代码(计算出总天数除以7):public static void main(String[..原创 2021-11-19 18:16:56 · 310 阅读 · 0 评论 -
分数(2018省赛)
Excel做法:A列填分子,都是1;B列填分母,每行递增2倍,做法是,在B1填1,在B2填写=B12,然后按住 B2往下拉到第20行,就填好了所有的分母。然后通分求分子分母。分子就是B20的524288[SUM(B1:B20),用鼠标选中B列求和, Excel自动算出1048575编程:public static void main(String[] args) { long fz = 1; long fm = 1; fo...原创 2021-11-19 17:44:39 · 92 阅读 · 0 评论 -
迷宫(2017省赛)
题目描述: X星球的一处迷宫游乐场建在某个小山坡上它是由10×10相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:·L表示走到左边的房间,·R表示走到右边的房间,·U表示走到上坡方向的房间,D表示走到下坡方向的房间。X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此! 开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。 迷宫地图如下:请你计算一下,最后,有多少玩家会走出迷.原创 2021-11-19 15:55:07 · 2393 阅读 · 0 评论 -
卡片(2021省赛)
题目描述 小蓝有很多数字卡片,每张卡片上都是数字0到9。小蓝准备用这些卡片来拼一些数,他想从1开始拼出正整 数,每拼一个,就保存起来,卡片就不能用来拼其它数了。小蓝想知道自己能从1拼到多少例如,当小蓝有 30张卡片,其中0到9各3张,则小蓝可以拼出1到10,但是拼11时卡片1已经只有一张了,不够拼出 11现在小蓝手里有0到9的卡片各2021张共20210张,请问小蓝可以从1拼到多少?解题思路:因为每次都是从1开始拼的所以最先不够的卡片一定是1,我们只要直到拼到第几个数字的时候用完了2021个一就行了。.原创 2021-11-19 11:51:54 · 607 阅读 · 0 评论 -
门牌制作(2020省赛)
小蓝要为一条街的住户制作门牌号。这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?解题思路 :这确实是个送分题,编码也很简单:判断每个数字中有几个2,然后把所有数字中2的个数加起来。编码大概 5分钟。 但是有更简单的原创 2021-11-19 11:36:31 · 331 阅读 · 1 评论 -
最大获利
1)n个结点的二叉链表中含有n+1 【公式 2n-(n-1)=n+1】 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为"线索")2)这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种3)一个结点的前一个结点,称为前驱结点4)一个结点的后一个结点,称为后继结点 ...原创 2021-11-19 10:34:14 · 72 阅读 · 0 评论 -
01字串
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。第一种解决方法5层for循环public class Main { public static void main(String[] args) { for(int i=0;i<=1;i++){ for(int j=0;j<=1;j++){ for(int k=0;原创 2021-11-18 17:57:10 · 190 阅读 · 0 评论 -
字母 图形
利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner input = new Scanner(System.in); int n = in原创 2021-11-18 16:52:28 · 61 阅读 · 0 评论 -
印章
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n=scanner.nextInt(); int m=scanner.nextInt(); //每种出现的概率 double p = 1.0 / n; //买 i 张凑齐 .原创 2021-11-11 19:54:15 · 217 阅读 · 0 评论 -
特殊回文数
昨天刷力扣的时候遇到一个判断回文链表,就按照之前的思路照做的,有好多地方都没有简化我写了一个judge方法来判断一个数是否为回文,利用栈的先入后出特性。具体:先把一个整数转成字符串然后将前半部分存入栈,然后和原字符串的后半部分比较,中间判断了一下它是奇数位还是偶数位,例如12321的话存入栈的是12比较时要跳过3然后写了一个decide方法计算一个整数的各位上的和import java.util.ArrayList;import java.util.Scanner;import jav原创 2021-11-10 18:16:55 · 3286 阅读 · 0 评论 -
最大公约数和最小公倍数问题
输入二个正整数x0,y0(2<=x0<=100000,2<=y0<=100000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整数 2.要求P,Q以x0为最大公约数,以y0为最小公倍数. 试求:满足条件的所有可能的两个正整数的个数.样例输入3 60样例输出4 样例说明 此时的 P Q 分别为: 3 60 15 12 12 15 60 3思路:这道题主要考察的是数学知识,可以看看这篇文章最大公约,最小公倍其次的要求就是原创 2021-11-03 18:08:01 · 235 阅读 · 0 评论 -
java中的进制转换
public static void main(String[] args) { Scanner sc = new Scanner(System.in); /** * 十进制转其他进制 * Integer.toHexString(10); //将10转换为十六进制,返回字符串类型 Integer.toOctalString(10); //将10转为八进制,返回字符串类型 Integer.toBinaryString(10); //.原创 2021-11-02 16:43:57 · 132 阅读 · 0 评论 -
乘法 次数
给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。第一行m表示有m(1<=m<=100)组测试数据;每一组测试数据有一整数n(0<n<=100000000)思路:二分法,奇数乘两次,偶数一次。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc =new Scann原创 2021-11-03 16:06:02 · 129 阅读 · 0 评论 -
查找 整数
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。思路:主要用到了集合里的indexof方法,该方法会返回某数在集合中第一次出现的位置 之所以加个if是因为如果该数不存在他就会返回0,返回-1才能100import java.util.LinkedList;import java.util.Scanner;publi...原创 2021-11-03 16:01:13 · 223 阅读 · 0 评论 -
回 文 数
按从小到大的顺序输出满足条件的四位十进制数。public class Main { public static void main(String[] args) { String a; for (int i = 1000; i <=9999; i++) { a=String.valueOf(i); StringBuilder sb = new StringBuilder(a); sb.reverse(); String b=new String(sb);原创 2021-11-03 15:56:51 · 50 阅读 · 0 评论