蓝桥杯 每日2题 day2

碎碎念:不管之前有没有做过,遇到了统统再写,,,我爱傻瓜解法,我爱跑的比pycharm快的idle

两题傻瓜解法,注意判断条件的编写!!

之后可以总结一下一直记不住的知识点,,特别是时间库的运用和排列组合库,以及简单的dfs和动归

1.完全日期

12.完全日期 - 蓝桥云课 (lanqiao.cn)

"""
写过的题,粗暴直接的思路!一次就对了哈皮哈皮
"""

def weishuhe(x):    # 计算数位和
    tmp = 0
    for i in str(x):
        tmp += int(i)
    return tmp
def pfs(x):    # 计算是否平方数,观察到最大平方数也不会超过36
    flag = False
    for i in range(1,7):
        if i**2 == x:
            flag = True
    return flag
def fals(y,m,d):    # 删除不存在的日期
    tmp = 0
    if y%4==0 and m ==2 and d == 30 or y%4==0 and m == 2 and d == 31:
        tmp -= 1
       
    elif y%4!=0 and m==2 and d==30 or y%4!=0 and m==2 and d==31 or y%4!=0 and m==2 and d==29:
        tmp -=1
       
    elif m==4 or m==6 or m==9 or m==11:
        if d == 31:
            tmp -= 1

    return tmp
        
        
cnt = 0
for y in range(2001,2022):    # 遍历年月日
    for m in range(1,13):
        for d in range(1,32):
            t = weishuhe(y)+weishuhe(m)+weishuhe(d)
            if pfs(t):
                cnt += 1
                cnt += fals(y,m,d)    # 减去不符合的日期
print(cnt)

2.寻找2020

5.寻找2020 - 蓝桥云课 (lanqiao.cn)

"""
因为填空题,所以先运行得到结果再填写即可。所以可以使用循环输入来分解长字符串
编写判断条件时要注意范围不要超过。+3操作!!!
"""

data = []
cnt = 0
for i in range(300):
    data.append(input())
for i in range(300):
    for j in range(300):
        if j+3<300 and data[i][j] == "2" and data[i][j+1] == "0" and data[i][j+2] == "2" and data[i][j+3] == "0":
            cnt += 1
        if i+3<300 and data[i][j] == "2" and data[i+1][j] == "0" and data[i+2][j] == "2" and data[i+3][j] == "0":
            cnt+=1
        if i+3<300 and j+3<300 and data[i][j]=="2" and data[i+1][j+1] == "0" and data[i+2][j+2] == "2" and data[i+3][j+3] == "0":
            cnt += 1
print(cnt)    # 16520

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值