蓝桥杯刷题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代码

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、运行结果

相关推荐
most diligent1 小时前
蓝桥杯电子赛_零基础利用按键实现不同数字的显现
单片机·嵌入式硬件·蓝桥杯
爱coding的橙子19 小时前
每日算法刷题Day16 5.26:leetcode不定长滑动窗口求子数组个数越短越合法2道题+恰好型3道题,用时1h20min
算法·leetcode·职场和发展
俺不是西瓜太郎´•ﻌ•`21 小时前
动态规划-蓝桥杯-健身
算法·蓝桥杯·动态规划
编程绿豆侠1 天前
力扣HOT100之回溯:79. 单词搜索
算法·leetcode·职场和发展
理智的灰太狼1 天前
题目 3325: 蓝桥杯2025年第十六届省赛真题-2025 图形
职场和发展·蓝桥杯
一只鱼^_2 天前
力扣第451场周赛
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
东方芷兰2 天前
Leetcode 刷题记录 10 —— 二叉树
java·开发语言·算法·spring·leetcode·职场和发展·intellij-idea
求职小程序华东同舟求职2 天前
明阳智慧能源社招校招入职测评 |iLogic言语逻辑数字、Talent5大五职业性格测评、TAS倍智人才测评考什么
大数据·面试·职场和发展·能源·求职招聘·求职
qq_195551692 天前
代码随想录60期day46
算法·leetcode·职场和发展
姬公子5212 天前
leetcode hot100刷题日记——第一周没做好的题目总结
算法·leetcode·职场和发展