蓝桥杯杯赛-日期模拟
知识点
处理日期
1. 按天枚举日期:逐天遍历起始日期到结束日期范围内的每个日期。
2. 处理闰年:正确判断闰年条件。闰年定义为:年份 满足以下任意一个条件:(闰年的2月只有29天)
满足下面一个条件就是闰年
1> 是 400 的倍数。
2> 是 4的倍数但不是 100的倍数
艺术与篮球
已知当前是星期几求出某个月的某一天是星期几
int week=x;x为第一天的日期
week = week%7+1求出每个星期的下一天
题目链接
1.艺术与篮球 - 蓝桥云课
题目解析

判断笔画数是不是超过50,超过50就去练习书法
算法原理
使用哈希表,把笔画和对应的数字联系在一起
使用日期函数来标记时间的开始和结尾,然后遍历每一天去计算笔画数
代码编写
import java.time.LocalDate;
import java.util.HashMap;
import java.util.Map;public class Main {public static void main(String[] args) {Map<Character, Integer> map = new HashMap<Character, Integer>() {{put('0', 13); // 零put('1', 1); // 一put('2', 2); // 二put('3', 3); // 三put('4', 5); // 四put('5', 4); // 五put('6', 4); // 六put('7', 2); // 七put('8', 2); // 八put('9', 2); // 九}};LocalDate startDate = LocalDate.of(2000, 1, 1);LocalDate endDate = LocalDate.of(2024, 4, 14);int days = 0;while (startDate.isBefore(endDate)) {String s = startDate.toString().replace("-", "");int total = 0;// 通过map查询笔画数for (char c : s.toCharArray()) {total += map.get(c);}if (total > 50) {days++;}startDate = startDate.plusDays(1);}System.out.println(days);}
}
从哪开始从哪结束
LocalDate startDate = LocalDate.of(2000, 1, 1);
LocalDate endDate = LocalDate.of(2024, 4, 14);
while 循环会一直执行,直到 startDate 等于或超过 endDate。循环会逐日增加 startDate,并计算当天日期的数字笔画数。
startDate.isBefore(endDate)
转为Srting类型,并且去除-
startDate.toString().replace("-", "");
自增天数
startDate = startDate.plusDays(1);
补充: 获得xxx年xxx月xx日是星期几
可以使用
LocalDate date = LocalDate.of(2026, 4, 1); // 获取星期几(英文)
String weekday = date.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.ENGLISH);
另一种写法
//造一个hash表,里面对应笔画数int[] hash = {13, 1, 2, 3, 5, 4, 4, 2, 2, 2};//month里面放每月的个数int[] months = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//计算打篮球的天数int count = 0;boolean feb = true;for (int year = 2000; year <= 2024; year++) {//笔画数int num = 0;//判断是平年还是润年//计算2月的值months[2] = isLeapYear(year) ? 29 : 28;//计算每一月,每一天for (int month = 1; month <= 12; month++) {for (int day = 1; day < months[month]; day++) {//计算年的每一位int ypos1 = year / 1000;year = year % 1000;int ypos2 = year / 100;year = year % 100;int ypos3 = year / 10;year = year % 10;int ypos4 = year;//计算月的每一位int mpos1 = month / 10;month = month % 10;int mpos2 = month;//计算每一天的每一位int dpos1 = day / 10;day = day % 10;int dpos2 = day;//计算笔画数num = hash[ypos1] + hash[ypos2] + hash[ypos3] + hash[ypos4] +hash[mpos1] + hash[mpos2] + hash[dpos1] + hash[dpos2];//最后计算天数if (num > 50) {count++;}if (year == 2024 && month == 4 && day == 13) {System.out.println(count);return;}}}}}public static void main(String[] args) {cal();}
相关文章:
蓝桥杯杯赛-日期模拟
知识点 处理日期 1. 按天枚举日期:逐天遍历起始日期到结束日期范围内的每个日期。 2. 处理闰年:正确判断闰年条件。闰年定义为:年份 满足以下任意一个条件:(闰年的2月只有29天) 满足下面一个条件就是闰年 1> 是 400 的倍数…...
【SQL】MySQL基础2:视图,存储过程,游标,约束,触发器
文章目录 1. 视图2. 存储过程2.1 创建存储过程2.2 执行存储过程 3. 游标4. 约束4.1 主键约束4.2 外键约束4.3 唯一约束4.4 检查约束 5. 触发器 1. 视图 视图是虚拟的表,它是动态检索的部分。使用视图的原因:避免重复的SQL语句;使用表的部分而…...
【TS学习】(15)分布式条件特性
在 TypeScript 中,分布式条件类型(Distributive Conditional Types) 是一种特殊的行为,发生在条件类型作用于裸类型参数(Naked Type Parameter) 时。这种特性使得条件类型可以“分布”到联合类型的每个成员…...
Android 小组件
小部件的布局文件支持如下布局: FrameLayout LinearLayout RelativeLayout GridLayout 以及如下控件 AnalogClock Button Chronometer ImageButton ImageView ProgressBar TextView ViewFlipper ListView GridView StackView AdapterViewFlipper 应该不止这些有空…...
搭建开源笔记平台:outline
折腾的意义 为什么要自己搭建一个笔记平台?没理由,就是突然想试试。有时候突然有个想法,搜了一下正好有合适的方案,就顺手试一下。 其实已经有很多成熟的笔记软件,例如Notion/OneNote,但谁不想要一个数据完…...
Unity编辑器功能及拓展(2) —Gizmos编辑器绘制功能
Unity中的Gizmos功能是用于在场景视图中绘制辅助图形或图标的工具,帮助开发者在编辑模式下直观调试和可视化游戏对象的位置、范围、方向等信息。 一.定义概述 Gizomsd 概述 Gizoms是Unity提供的一个API,或者叫做一个工具类,包含一系列静态…...
电脑屏幕亮度随心控,在Windows上自由调整屏幕亮度的方法
调整电脑屏幕的亮度对于保护视力和适应不同环境光线条件非常重要。无论是在白天强光下还是夜晚昏暗环境中,合适的屏幕亮度都能让您的眼睛更加舒适。本文中简鹿办公小编将向您介绍几种在 Windows 系统中调整屏幕亮度的方法。 方法一:使用快捷键 大多数笔…...
presto行转列
presto的行列转换和spark、hive一样也是通过外链语句实现的,只不过语法和关键子有点不同,如下 with tmp1 as (select 1,2,3 as a1,4,5,6 as a2 ) select * from tmp1 cross join unnest(split(tmp1.a1, ,),split(tmp1.a2, ,) ) as b(a1s,a2s) 结果如下...
MySQL 5.7 Online DDL 技术深度解析
14.13.1 在线DDL操作 索引操作主键操作列操作生成列操作外键操作表操作表空间操作分区操作 索引操作 下表概述了对索引操作的在线DDL支持情况。星号表示有附加信息、例外情况或依赖条件。有关详细信息,请参阅语法和使用说明。 操作原地执行重建表允许并发DML仅修…...
【汽车功能安全:软件与硬件缺一不可】
随着汽车变得越来越智能,功能安全就成为汽车电子系统不可回避的标准体系,日益复杂的功能导致了汽车中电子元件的数量和复杂性的指数级增长(Leen)。如今高级别汽车拥有多达90个电子控制单元(ECU),…...
docker打包使用有头模式playwright
1.打包镜像 创建Dockerfile文件如下 # playywright 官方镜像 FROM mcr.microsoft.com/playwright:v1.37.0-jammy# 设置非交互式环境变量和时区 ENV DEBIAN_FRONTENDnoninteractive ENV TZEtc/UTC# 安装 Python 3.9 和 pip(修复时区阻塞问题) RUN apt-g…...
TCP/IP协议的应用层与传输层
TCP/IP协议簇是互联网的核心通信框架,定义了数据如何在网络中封装、寻址、传输和路由(确定数据包从源主机到目标主机的传输路径的过程)。 应用层 直接面向用户和应用,负责实现网络服务的具体功能(如网页浏览、文件传输…...
51c自动驾驶~合集15
我自己的原文哦~ https://blog.51cto.com/whaosoft/11720657 #DRAMA 首个基于Mamba的端到端运动规划器(新加坡国立) 运动规划是一项具有挑战性的任务,在高度动态和复杂的环境中生成安全可行的轨迹,形成自动驾驶汽车的核心能…...
拼多多 anti-token unidbg 分析
声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 版本7.3-7.4 都试过加密没什…...
【Git】5 个分区的切换方式及示例
目录 1. **工作区(Working Directory)**2. **缓存区(Stage/Index)**3. **本地仓库(Local Repository)**4. **远程仓库(Remote Repository)**5. **贮藏区(Stash࿰…...
Java高频面试之并发编程-02
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:进程和线程的区别是什么? 1. 资源分配与独立性 进程: 独立性:每个进程拥有独立的内存…...
openwebui和keycloak集成,使用keycloak的用户名和密码登录
1,实现效果 使用keycloak定义的用户名和密码,直接登录openwebui 2,实现原理 keycloak中用户信息中包含用户名和密码,以及email。 使用keycloak中的用户名和密码登录之后,会用email创建一个openwebui的账号。之后每次…...
html实现手势密码
<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>手势密码</title><style>body {font-fam…...
【区块链安全 | 第八篇】多签机制及恶意多签
部分参考:慢雾科技 文章目录 为什么需要多签多签机制Tron钱包下的恶意多签Tron 钱包多签权限分类Tron 多签机制的运作方式 恶意多签的过程黑客通过多签机制控制账户黑客剥夺用户权限,完全控制账户 恶意多签成因 在区块链中,多签(M…...
项目如何安装本地tgz包并配置局部registry
一、判断包来源是否正确 1. 检查url curl <registry_url>2. 查看包是否存在 npm view <package_name> --registry<registry_url>二、局部registry配置步骤: 1. 全局配置 如果你希望对所有项目生效,可以将这行配置添加到全局.npmr…...
二月公开赛Web-ssrfme
目录 环境搭建 题目分析 分析代码 解题过程 Redis未授权访问 寻找Flag 环境搭建 进入含有docker-compose.yml的文件内,拉取容器镜像 docker-compose up -d 题目分析 访问容器地址172.25.254.200:8091查看题目 分析代码 url通过GET请求访问界面,…...
JavaRedis和数据库相关面试题
JavaRedis面试题 1. Redis是什么以及Redis为什么快? Redis(Remote Dictionary Server)是一个开源的内存键值数据库,支持多种数据结构(如字符串、哈希、列表、集合等),并提供持久化、复制、…...
告别枯燥工作,走向自动化
嘿,小伙伴们!今天给你们介绍两款超实用的RPA办公自动化软件,用它们,再也不用像机器一样做重复劳动啦,超省时间! 工具名称:影刀RPA(类似产品,八爪鱼 RPA,操作上…...
Spring的 @Conditional @ConditionalOnProperty 注解 笔记250330
Spring的 Conditional ConditionalOnProperty 注解 Spring 的 Conditional 与 ConditionalOnProperty 注解详解 在 Spring 框架中,Conditional 和 ConditionalOnProperty 是用于动态控制 Bean 注册的重要注解。虽然它们都服务于条件化配置,但定位和使用…...
可信数据空间:构筑安全可控数据流通
前言:可信数据空间是一种数据基础设施,发展可信数据空间是全国及各地数据基础设施建设的重要方面。国内数据空间的探索和实践仍然数据探索阶段。本期分享:可信数据空间构筑安全可控数据流通,包括可信数据空间技术介绍、如何助力数…...
Zookeeper特性与节点数据类型
数据结构和监听机制 CP 文件系统形式存储 观察者模式监听节点数据变化、 临时节点客户端超时或发生异常节点就会删除 2888同步数据 3888选举端口 1.什么是Zookeeper ZooKeeper 是一个开源的分布式协调框架,是Apache Hadoop 的一个子项目,主要用来…...
【C++游戏引擎开发】《线性代数》(6):SVD(奇异值分解)的数学原理与实现
一、奇异值分解(SVD)的数学定义 奇异值分解(Singular Value Decomposition,SVD)是一种将任意实数或复数矩阵分解为三个特定矩阵乘积的方法。其数学定义如下: 1.1 分解形式 给定一个秩为 r r r的矩阵 A ∈ R m n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rmn(或…...
C语言pthread库创建线程的案例
一、代码案例 #include<stdio.h> #include<stdlib.h> // 多线程库 #include<pthread.h> // 线程1的逻辑描述 void* thread_method_01(void* v){ printf("线程1执行完毕。\n"); return NULL; } // 线程2的执行逻辑 void* thread_meth…...
处理 Linux 信号:进程控制与异常管理的核心
个人主页:chian-ocean 文章专栏-Linux 前言: 在 Linux 操作系统中,信号是用于进程间通信的一种机制,能够向进程发送通知,指示某些事件的发生。信号通常由操作系统内核、硬件中断或其他进程发送。接收和处理信号是 Li…...
【蓝桥杯每日一题】4.1
🏝️专栏: 【蓝桥杯备篇】 🌅主页: f狐o狸x "今日秃头刷题,明日荣耀加冕!" 今天我们来练习二分算法 不熟悉二分算法的朋友可以看:【C语言刷怪篇】二分法_编程解决算术问题-CSDN博客 …...
