备战蓝桥杯Day37 - 真题 - 特殊日期

一、题目描述

 思路:

1、统计2000年到2000000年的日期,肯定是需要遍历

2、闰年的2月是29天,非闰年的2月是28天。我们需要判断这一年是否是闰年。

        1、3、5、7、8、10、12月是31天,4、6、9、11月是30天。

3、年份yy是月份mm的倍数也是dd的倍数:说明年份yy对月份mm和dd要同时整除

4、因为是一道填空题,我们可以不考虑算法的时间和空间复杂度的限制,使用暴力直接解决。

代码

import os
import sys# 请在此输入您的代码
def isLeap(x):  # 判断是否为闰年if (x % 4 == 0 and x % 100 != 0) or x % 400 == 0:return Truereturn Falsedef numAdd(x):  # 计算年份个数位的数字和sums = 0while x:sums += x % 10x //= 10return sumsstart, end = 1900, 9999
ans = 0
day = [1, -2, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1]  # 每个月天数和30天的差值
data = []
hstable = dict()  # key:月份1~12,value:每个月份月份数位和+日的数位和的区间,如1月份为(2, 32)
for j in range(1,32):  # 计算日数位和data.append(numAdd(j))
for i in range(1, 13):  # 初始化哈希表t = numAdd(i)  # 月数位和for j in range(day[i - 1] + 30):  # 遍历一个月的每一天将月数位和加上日数位和addt = t + data[j]if addt not in hstable:hstable[addt] = 1else:hstable[addt] += 1  # 哈希表中对应的天数加一for i in range(start, end + 1):  # 遍历每一年yearsum = numAdd(i)  # 计算年的数位和if yearsum in hstable:  # 若年的数位和在哈希表中存在则答案加上对应的天数ans += hstable[yearsum]if isLeap(i) and yearsum == 13:  # 闰年2月份多一天,位数和为13ans += 1print(ans)

本来想自己尝试写一下,但是结果不对,还是先学习一下大佬的吧。因为清明节放假,根本不想学习,玩完之后有戒断反应,非常失落现在。唉,还有六天就到省赛了,咱们就是说顺其自然吧,我已经不抱希望获奖了哈哈,自己的能力还是不够,还是要多学习啊。学习的过程比结果更重要!(好吧只能这样安慰自己了)

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

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

相关文章

【Entity Framework】EF配置文件设置详解

【Entity Framework】EF配置文件设置详解 文章目录 【Entity Framework】EF配置文件设置详解一、概述二、实体框架配置部分三、连接字符串四、EF数据库提供程序五、EF侦听器六、将数据库操作记录到文件中七、Code First默认连接工厂八、数据库初始值设定项 一、概述 EF实体框架…

OKR应用层级与试点部门选择:管理层与员工层的应用探讨

OKR(Objectives and Key Results)作为一种高效的目标管理工具,其应用层级的选择对于企业的实施效果至关重要。在管理层和员工层之间,并没有绝对的先后顺序,而是需要根据企业的具体情况和需求进行灵活应用。同时&#x…

CODEFORCES --- 630A. Again Twenty Five!

630A. Again Twenty Five! 人力资源经理又失望了。最后一名应聘者和之前的 24 名应聘者一样,都没有通过面试。"我应该给这样一个艰巨的任务吗?- 人力资源经理想。“只要把数字 5 提高到 n 的幂,然后得到数字的最后两位就可以了。是的&a…

stata 数据匹配

横向匹配(增加变量)——merge merge 1:1 id using otherfile.dta匹配城市 merge m:1 city using "E:\基点.dta",nogen匹配上市公司 merge m:1 stkcd time using "E:\基点.dta",nogen匹配类型: 1:1: 1配1 m:1:多配1 …

QEMU介绍

原文位置:https://github.com/qemu/qemu 原文 QEMU is a generic and open source machine & userspace emulator and virtualizer. QEMU is capable of emulating a complete machine in software without any need for hardware virtualization support. B…

前端八股文面试题——webpack工程化

前端工程化面试题 webpack有哪些常见的loader? 你用过哪些loader?webpack 有哪些常见的Plugin? 你用过哪些Plugin?说说Loader 和Plugin 的区别作用上结构上 webpack 构建流程简单说一下使用webpack开发时,使用过哪些可以提高效率的插件?如何优化webp…

python买铅笔 2024年3月青少年电子学会等级考试 中小学生python编程等级考试一级真题答案解析

目录 python买铅笔 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python买铅笔 2024年3月 python编程等级考试级编程题 一、题目要求 1、编…

习题3-4 统计学生成绩

本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则: 大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。…

【电路笔记】-逻辑非门

逻辑非门 文章目录 逻辑非门1、概述2、晶体管逻辑非门3、六角施密特反相器逻辑非门是所有逻辑门中最基本的,通常称为反相缓冲器或简称为反相器。 1、概述 反相非门是单输入器件,其输出电平通常为逻辑电平“1”,当其单个输入为逻辑电平“1”时,输出电平变为“低”至逻辑电平…

通用爬虫的概念简述

一、🌈什么是通用爬虫 通用爬虫(General Purpose Web Crawler或Scalable Web Crawler)是一种网络爬虫,其设计目标是对整个互联网或尽可能广泛的网络空间进行数据抓取。通用爬虫主要用于搜索引擎构建其庞大的网页索引数据库&#…

FineReport安装后,启动报错:get tomcat thread pool info error

报错信息如下,一堆堆的错误: 1、get tomcat thread pool info error 2、lineofficial plugin is not istalled 3、line...not installed 4、lark... 5、dingtalk ... 最后解决方案: 1、安装java jdk1.8 2、安装了tomcat 8 安装版 3、…

MBTI测试深度解析:从性格类型看职业选择与发展方向!(包含开源免费的API接口)

MBTI简介 迈尔斯-布里格斯类型指标(Myers–Briggs Type Indicator,MBTI)是由美国作家伊莎贝尔布里格斯迈尔斯和她的母亲凯瑟琳库克布里格斯共同制定的一种人格类型理论模型。 该指标以瑞士心理学家卡尔荣格划分的8种心理类型为基础&#xff…

使用LIMIT进行分页

SELECT employee_id, first_name, salary FROM employees LIMIT 0, 5; 0为偏移量, 5为条目数 每页pageSize条记录,显示第page页 LIMIT (page - 1) * pageSize, pageSize; # 或者 LIMIT pageSize OFFSET (page - 1) * pageSize;

备战蓝桥杯---递归与DFS刷题2

1. 数据范围允许直接暴力把所有组合都写一遍,我们用Pair来存,在sort中分式比较只要把自己的分子与对方的分母乘比较即可,下面介绍一下st树的写法,具体原理就不说了,它是先[0/1,1/1]然后取分子分母的平均化成两个区间&a…

web学习笔记(五十三)身份认证

目录 1.Web 开发模式 1.1 服务端渲染的 Web 开发模式 1.2 服务端渲染的优缺点 1.3 前后端分离的 Web 开发模式 1.4 如何选择 Web 开发模式 2. 身份认证 2.1 Session 认证机制 3. 在 Express 中使用 Session 认证 3.1 安装express-session 中间件 3.2 配置 express-ses…

electron 打不同环境的包

我用的打包工具: electron-builder 1、在package.json 文件的同级下创建2个js文件 electron-builder-test.config.js electron-builder.config.js electron-builder-test.config.js const basejson require(./electron-builder.config.js); module.exports {extraMetada…

智能变电站协议系列-5、IEC 104协议细化解读(IEC 60870以及如何获取对应国标和行标)

一、前言 通过之前整体性的协议分析,目前确定先基于IEC104做深入分析,来结合分析电网常见的业务,以此从协议侧关联深入到业务侧。在国内该标准也应用比较稳定和广泛了,所以研究104协议相关资料也会更全一些。 二、资料及标准收集…

【强化学习的数学原理-赵世钰】课程笔记(二)贝尔曼公式

【强化学习的数学原理-赵世钰】课程笔记(二)贝尔曼公式 一. 内容概述 1. 第二章主要有两个内容 (1)一个核心概念:状态值(state value):从一个状态出发,沿着一个策略我…

OWASP TOP10 漏洞详解

前言 该内容是 OWASP TOP 10 的学习笔记,笔记内容来源 B 站龙哥的视频【12.Top漏洞10:服务器请求伪造_哔哩哔哩_bilibili】 一、访问控制崩溃 概念 未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据&#xf…

QA测试开发工程师面试题满分问答9: Python中内存管理的概念、原理、使用

概念原理 Python中的内存管理是由解释器自动处理的,它使用引用计数和垃圾回收机制来管理内存。以下是Python内存管理的一些关键概念、设计原理和最佳实践,以帮助您高效使用和管理内存: 引用计数:Python使用引用计数来追踪对象的引…