蓝桥杯备战日志(Python)4-既约分数&跑步锻炼(最大公约数&日期对象)
发布时间:2023-02-04 20:39:16 271
相关标签: # python
既约分数
题目
如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。
例如 , 都是既约分数。
请问,有多少个既约分数,分子和分母都是 1 到 2020 之间的整数(包括 1 和 2020)?
最大公约数,枚举求解
这题若不记得系统自带的库已实现了求两个数的最大公约数,自己定义函数进行求解时间复杂度会较高。
不论记不记得,有一点也是可以理解的,就是尽量的压缩枚举的空间,这里直接上代码和注释,如下:
跑步锻炼
题目
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
“日期”对象
这里主要考查对编程语言基本的内置模块的掌握以及一点编程语言特性。对Python来说,在datetime这个内置模块中,实现了时间和日期的一些常用操作,掌握一些基本的足以解决类似的题目。
- datetime.date(year,month,day)可创建一个日期对象
- 该对象的常用属性有:
- year,month,day,分别表示当前日期的年、月、日
- weekday()返回表示周几的数字(数字从0开始,0表示周一)
- datetime.datetime() 可创建一个时间对象(处理“年月日时分秒”的时间),用法和日期对象类似,但其属性更多
- datetime.timedelta()创建一个时间间隔对象,可与上述时间/日期对象作加减法
- 比赛中,记不清属性的拼写可以使用Python内置函数dir()打印出该对象的所有属性
“日期”相关对象的基本使用:
运行结果
本题的代码如下:
上一篇:蓝桥杯备战日志(Python)3-货物摆放(枚举、因子分解)
文章来源: https://blog.51cto.com/gpnuCITlabCar/6028114
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报