当前位置: 首页 > article >正文

蓝桥杯刷题day08——完全日期

1、题目描述

如果一个日期中年月日的各位数字之和是完全平方数,则称为一个完全日期。
例如:2021年6月5日的各位数字之和为2+0+2+1+6+5=16,而16是一个完全平方数,它是4的平方。所以2021年6月5日是一个完全日期。

请问,从2001年1月1日到2021年12月31日中,一共有多少个完全日期?

2、解析

计算从2001年1月1日到2021年12月31日之间有多少个“完全日期”,即日期中年、月、日的各位数字之和是一个完全平方数的日期。

20010101到20211231最大数位和是30,最小数位和是5,所以可以确定能满足的平方数只有9,16,25。首先将可能的完全平方数(9、16、25)存储在列表ls中。然后,使用datetime模块中的datetime和timedelta类来遍历从2001年1月1日到2021年12月31日的所有日期。在每个日期上,计算年、月、日的各位数字之和,如果和在ls列表中,则计数器c加1。最后输出c的值,即完全日期的数量。

3、python代码

import datetime

ls=[9,16,25]
c=0
date1=datetime.datetime(2001,1,1)
d=datetime.timedelta(days=1)
while date1.year!=2022:
    if sum(map(int,str(date1.year)))+sum(map(int,str(date1.month)))+sum(map(int,str(date1.day))) in ls:
        c+=1
    date1+=d

print(c)

4、运行结果 


http://www.kler.cn/a/232398.html

相关文章:

  • 等保测评怎么做?具体流程是什么?
  • 图像处理之cornerdetection(角点检测)综述
  • vue 项目使用 nginx 部署
  • 【PyTorch】libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent
  • 使用阿里云快速搭建 DataLight 平台
  • python习题练习
  • [力扣 Hot100]Day26 环形链表 II
  • TCP的连接和断开详解
  • 【LeetCode每日一题】525连续数组 303区域和检索(前缀和的基本概念和3个简单案例)
  • 使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问
  • leetcode69 x 的平方根
  • Antd+React+react-resizable实现表格拖拽功能
  • 代码随想录算法训练营DAY16 | 二叉树 (3)
  • 机器学习——有监督学习和无监督学习
  • SQL注入 - 利用报错函数 floor 带回回显
  • flask+vue+python跨区通勤人员健康体检预约管理系统
  • C++ 调用lua 脚本
  • Ubuntu 1804 And Above Coredump Settings
  • re:从0开始的CSS学习之路 6. 字体相关属性
  • NLP自然语言处理
  • 【Java EE】----SpringBoot的日志文件
  • Window环境下使用go编译grpc最新教程
  • Text2SQL研究-Chat2DB体验与剖析
  • Kubernetes CNI Calico:Route Reflector 模式(RR) calico IPIP切换RR网络模式
  • 年假作业day2
  • Vue中路由守卫的详细应用