2024 蓝桥打卡Day40

2021、2022年蓝桥杯真题练习

  • 2021年蓝桥杯真题练习
    • A ASC
    • B 卡片
    • C 查找
    • D 货物摆放
    • F 时间显示
    • H 杨辉三角形
  • 2022年蓝桥杯真题练习
    • A 星期计算
    • B 山
    • C 字符统计
    • D 最少刷题数
    • E 求阶乘

2021年蓝桥杯真题练习

A ASC

package THL_0412;public class A_2021 {public static void main(String[] args) {System.out.println((int)'L');}}

B 卡片

package THL_0412;import java.util.Arrays;
import java.util.Iterator;public class B_2021 {public static void main(String[] args) {int[] count = new int[10];Arrays.fill(count, 2021);int temp = -1;for (int i = 1; i < 20000; i++) {String s = i + "";char[] c = s.toCharArray();for (int j = 0; j < c.length; j++) {int num = c[j] - '0';count[num]--;if(count[num]==0) {temp = 0;}}if(temp == 0) {System.out.println(i);break;}}}}

C 查找

package THL_0412;import java.util.HashSet;
import java.util.Set;public class C_2021 {public static void main(String[] args) {Set<String> ans = new HashSet<>();for (int x1 = 0; x1 <= 19; x1++) {for (int y1 = 0; y1 <= 20; y1++) {for (int x2 = 0; x2 <= 19; x2++) {for (int y2 = 0; y2 <= 20; y2++) {if(x1==x2||y1==y2) {continue;	}StringBuilder s = new StringBuilder();int up = y2 - y1;int down = x2 - x1;int r = gcd(up,down);s.append( up/r +" ");s.append( down/r +" ");up = y1 * down - x1 * up; // 将k = up/down 代入y1 = k*x1+b 化简得此等式r = gcd(up,down);s.append( up/r +" ");s.append( down/r);ans.add(s.toString());}}}}System.out.println(ans.size()+20+21);}private static int gcd(int a, int b) {if(b == 0) {return a;}else {return gcd( b , a % b);}}
}

D 货物摆放

package THL_0412;import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;public class D_2021 {public static void main(String[] args) {long num = 2021041820210418L;int ans = 0;Set<Long> l = new HashSet<>();for (long i = 1; i < Math.sqrt(num); i++) {if(num % i == 0) {l.add(i);l.add(num/i);}}int count = 0;Long[] nums = l.toArray(new Long[l.size()]);for (int i = 0; i < nums.length; i++) {for (int j = 0; j < nums.length; j++) {for (int k = 0; k < nums.length; k++) {if(nums[i]*nums[j]*nums[k] == num) {count++;}}}}System.out.println(count);}
}

F 时间显示

package THL_0412;import java.util.Scanner;public class F_2021 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);long n = sc.nextLong();n = n /1000; // 1s = 1000ms// 1min = 60s // 1h = 60min = 3600sint h = 0;int min = 0;int s = 0;h  = (int) ((n % ( 3600 * 24 ))/3600);min = (int) ((n % 3600)/60);s = (int) (n % 60); System.out.printf("%02d:%02d:%02d",h,min,s);	}
}

H 杨辉三角形

package THL_0412;import java.util.*;public class H_2021 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);long N = sc.nextLong();long[] a = new long[44725]; // 创建一个数组来存储杨辉三角的值,长度足够大以覆盖超过十亿的情况a[0] = 1L; // 初始化第一个元素为1if (N == 1) { // 当输入为1时,直接输出1System.out.println(1);return;}int count = 1; // 用于计算当前行的行数for (int i = 1; i < 44725; i++) { // 从第二行开始填充数组for (int j = i; j >= 1; j--) { // 从后往前填充当前行的元素a[j] = a[j] + a[j - 1]; // 按照杨辉三角的规律,每个数等于它上方两个数之和if (a[j] == N) { // 如果找到了输入的N,计算并输出位置int position = (count + 1) * count / 2 + i - j + 1; // 位置计算:前面的个数 + 当前行的位置数System.out.println(position); // 输出位置return;}}count++; // 当前行填充完毕,行数+1}// 当N未在数组中出现时,输出N在未显示出来的第二列的位置上// 未显示的第二列的第一个元素是第一行的最后一个元素加上1// 后续元素是前一个元素与当前行的第一个元素的和long secondColumnFirst = a[1] + 1; // 未显示的第二列的第一个元素long secondColumnElement = secondColumnFirst; // 初始化为第一个元素for (int i = 1; i < N; i++) {secondColumnElement += i + 2; // 每个后续元素是前一个元素加上递增的值}System.out.println(secondColumnElement); // 输出N在未显示的第二列的位置上的值}
}

(2021年能做出来65分,再加上骗分,应该有七十多)

2022年蓝桥杯真题练习

A 星期计算

package THL_0412;public class A_2022 {public static void main(String[] args) {int n = 20;for (int i = 1; i < 22; i++) {n = (20 * n) % 7;}int num = 6 + n;if(num > 7) {num = num % 7;System.out.println(num);}else {System.out.println(num);}}
}

B 山

package THL_0412;public class B_2022 {public static void main(String[] args) {long l = 2022222022;int count = 0;for (int i = 2022; i <= l; i++) {if(isUp(i)&&isMirror(i)) {count++;}}System.out.println(count);}private static boolean isMirror(int i) {StringBuilder s = new StringBuilder(i+"");if(s.toString().equals(s.reverse().toString())) {return true;}else {return false;}}private static boolean isUp(int i) {String s = i + "";int size = s.length() % 2 == 0 ? s.length() / 2 : s.length() / 2 + 1;for (int j = 1; j < size; j++) {if (s.charAt(j) < s.charAt(j - 1)) {return false;}}return true;}
}

C 字符统计

package THL_0412;import java.util.Arrays;
import java.util.Iterator;
import java.util.Scanner;public class C_2022 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.nextLine();char[] c = s.toCharArray();int[] count = new int[30];Arrays.fill(count, 0);Arrays.sort(c);for (int i = 0; i < c.length; i++) {int num = c[i] - 'A';count[num]++;}int max = 0;for (int i = 0; i < c.length; i++) {if(count[i]>max) {max = count[i];}}for (int i = 0; i < c.length; i++) {if(count[i] == max) {System.out.print((char)(i+'A'));}}}}

D 最少刷题数

package THL_0412;import java.util.Arrays;
import java.util.Scanner;public class D_2022 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] nums = new int[n];int[] count = new int[n];for (int i = 0; i < n; i++) {nums[i] = sc.nextInt();count[i] = nums[i];}Arrays.sort(count);int index = 0;if(n%2==0) {index = n/2+1;// 中间数,对于奇数长度,正好是中间的数;偶数长度,则是右边那个数}else {index = n/2;}int middle = count[index];for (int i = 0; i < n; i++) {if(nums[i]<middle) {System.out.print(middle - nums[i]+1);System.out.print(" ");}else {System.out.print(0);System.out.print(" ");}}}}

E 求阶乘

package THL_0412;import java.util.Scanner;public class E_2022 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);long k = sc.nextLong();long count; // 记录含有5的个数,也是阶乘后末尾0的个数long number = 5; // 从5的阶乘(120)开始判断while (true) {long temp = number;count = 0;while (temp > 0) {temp /= 5;count += temp;}if (count < k) {number += 5;} else if (count == k) {System.out.println(number);break;} else {System.out.println(-1); // 如果不存在第k个含有5的数,则输出-1break;}}}
}

(2021年能做出来45分,再加上骗分,应该有五十多)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLite超详细的编译时选项(十六)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite数据库文件格式&#xff08;十五&#xff09; 下一篇&#xff1a;SQLite 在Android安装与定制方案&#xff08;十七&#xff09; 1. 概述 对于大多数目的&#xff0c;SQLite可以使用默认的 编译选项。但是…

WinForms 零基础进阶教程:文件操作与 CSV 处理

文章目录 文件操作数据存储与文件操作文件存取的好处文件存取的方式文本文件的写入和读取文本文件的删除、复制和移动 目录的操作文件属性操作文件路径 对话框OpenFileDialog对话框SaveFileDialog对话框对话框中CheckPathExists属性的应用 CSV 文件读写与 DataGridView 进阶Dat…

Python基于Django的微博热搜、微博舆论可视化系统

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

Redis限流插件

Redis限流插件: 1:搭建层级结构 同时对 redis.log 授权 chmod 777 redis.log2:确认 redis 版本 3:下载redis配置文件 redis.conf https://redis.io/docs/management/config/ 4:上传/redis/conf作为原始 redis.conf 5:在/redis_6390/conf下编辑redis.conf docker run -it \ --…

美国有哪些银行可以开?美国华美银行开户

很多客户在注册香港公司后&#xff0c;都会选择美国的银行开户&#xff0c;因为目前较好开&#xff0c;简单&#xff0c;快速&#xff0c;便宜&#xff0c;性价比较高的银行 。 华美银行现为全美以华裔为主要市场规模较大的商业银行&#xff0c;总部位于加州&#xff0c;专注于…

营销自动化的未来趋势

​营销自动化在2024年的趋势将继续沿着数字化、个性化和智能化的方向发展。 根据小编全网搜索相关资料信息整理得出&#xff0c;营销自动化有以下可能趋势&#xff1a; 1、深度智能化&#xff1a;随着人工智能技术的进一步发展&#xff0c;营销自动化将更加智能化。通过机器学…

51单片机上面的IIC协议

1、什么是IIC协议 2、模拟IIC协议 51单片机上面是没有与IIC协议相关的寄存器的&#xff08;没有相关的硬件&#xff09;&#xff0c;不像串口可以配置对应的寄存器达到目的&#xff08;比如修改波特率9600 or 115200&#xff09;&#xff0c;要配置IIC只能够根据用户手册里面的…

​面试经典150题——LRU 缓存

​ 1. 题目描述 2. 题目分析与解析 首先讲解一下LRU LRU 是“Least Recently Used”的缩写&#xff0c;LRU 算法的基本思想是跟踪最近最少使用的数据&#xff0c;并在缓存已满且需要存储新数据时优先驱逐该数据。 LRU 算法通常的工作原理的简化解释&#xff1a; 当访问或使…

第十五届蓝桥杯python组

第十五届蓝桥杯Python组的比赛涉及了多个编程问题&#xff0c;这些问题覆盖了不同的算法和数据结构知识点。以下是一些题目的描述和解题思路&#xff1a; A题“穿越时空之门”要求计算在二进制和四进制表示下&#xff0c;数字的各数位之和相等的勇者数量。解题的关键是将数字转…

vue.config.js跨域问题解决

讲解视频 问题背景 目标地址&#xff1a; 而当前项目启动是http&#xff0c;协议名不同&#xff0c;所以跨域了 解决步骤和解答 1. 新建vue.config.js文件 2. 添加如下代码&#xff1a; 一般目标路径target写 域名 就可以了 但其实&#xff0c;写路径也可以&#xff0c;…

查看 Linux 接入的 USB 设备速率是 USB2 还是 USB3

查看接入 usb 设备的速率 使用以下命令查看接入的 USB 设备速率&#xff08;每一行最后的 xxM 字样&#xff09;。插入设备前查看一次&#xff0c;插入设备后查看一次&#xff0c;对比即可定位到刚插入的设备是哪一条。 lsusb -t命令输出如下图 对照 USB 速率表 对照 USB 速…

EasyRecovery数据恢复软件2024试用版下载安装包

EasyRecovery支持的文件格式非常广泛&#xff0c;几乎涵盖了用户日常所需的所有文件类型。具体来说&#xff0c;它支持恢复的办公文档类型包括Microsoft Word、Excel、PPT、MS office、Adobe PDF、Access等。此外&#xff0c;对于音频文件&#xff0c;EasyRecovery同样支持丰富…

基于matlab的PPG与ECG心率计算

% 清除工作空间变量,关闭所有图形界面 clear; close all;% 读取数据 [a, b] = xlsread(s10_walk.xlsx);% 采样频率 fs = 500;% 选择PPG信号和ECG信号 PPG = a(:, 2); ECG = a(:, end);% 创建时间轴 t = (1:length(PPG)) / fs;% 绘制PPG和ECG的时域图 figure subplot(2,1,1) pl…

初识three.js创建第一个threejs3D页面

说到3D&#xff0c;想必大家都能想到three.js&#xff0c;它是由WebGL封装出来的&#xff0c;接下来&#xff0c;我手把手教大家创建一个简单的3D页面 话尽在代码中&#xff0c;哈哈 大家可以复制代码玩一下 <!DOCTYPE html> <html lang"en"><head&…

【Spring高级】Springboot自动配置类原理

目录 如何引入第三方库第三方库与当前项目Bean重复自定义自动配置类 自动配置类通常位于Spring Boot的自动配置模块中&#xff0c;并且被标记为 Configuration类。这些类使用 Conditional注解来检查某些条件是否满足&#xff0c;如果满足&#xff0c;则创建和配置相关的bean。…

【嵌入式 - 输出驱动电路Open Drain (开漏)和Push-Pull (推挽)】

定义 Open drain 和 push-pull 是两种常见的输出驱动电路。它们在数字电子电路中用于控制信号的输出。让我逐一解释它们&#xff1a; 1. Open Drain (开漏): Open drain 输出端通常连接到地 (GND) 或者一个高电阻 (pull-up) 上。当输出信号为逻辑高电平时&#xff0c;输出端…

【CSS】CSS元素的垂直居中案例

CSS元素的垂直居中案例 1. 绝对定位 缺点 必须使用定位&#xff0c;并且是脱标元素必须给元素设置高度 <div class"container"><div class"box"></div> </div>.container {position: relative;width: 300px;height: 300px;bac…

【Python】从零开始学习Python中的随机模块:实现验证码生成功能

欢迎来CILMY23的博客 本篇主题为 从零开始学习Python中的随机模块&#xff1a;实现验证码生成功能 个人主页&#xff1a;CILMY23-CSDN博客 个人专栏系列&#xff1a; Python | C语言 | 数据结构与算法 | C 感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞关注…

【位运算】Leetcode 丢失的数字

题目解析 268. 丢失的数字 本题的意思就是数组的长度为n&#xff0c;在[0,n]区间中寻找缺失的一个数字 算法讲解 直观思路&#xff1a;排序 Hash&#xff0c;顺序查找缺失的数字 优化&#xff1a;使用异或&#xff0c;首先将[0,n]之间所有数字异或在一起&#xff0c;然后将…

4.11 驱动开发

作业 3.1 实验现象 crw------- 1 root root 236, 0 Apr 11 15:55 /dev/myled0 crw------- 1 root root 236, 1 Apr 11 15:55 /dev/myled1 crw------- 1 root root 236, 2 Apr 11 15:55 /dev/myled2在串口工具&#xff0c;输入如下命令实现控制对应的LED灯进行工作echo 1 >…