判断13号距离1900年出现的次数

本文介绍了如何计算1900年后13号出现的次数,通过分析解题思路,展示了编程解决问题的过程。
摘要由CSDN通过智能技术生成

刷题练练手,在网上https://blog.csdn.net/suijue9389/article/details/80207737找到下面题目这个题:

 想清楚之后还是很简单的。

year, week = map(int, raw_input().strip().split()) #输入年份和要查的星期几
month = [31,31,28,31,30,31,30,31,31,30,31,30]
week_start = 6 #1990年1月1日是周
weeks = [0,0,0,0,0,0,1]  #从周日到周六,是就是1,否就是0。因为1990年1月13日是星期六
if year<1 or year>400:
    print -1
else:
    if week<0 or week>6:    #限制日期为周日至周六
        print -1
    else:
        for i in range(1, year+1):
            y = 1900 + i -1
            if (y%4 == 0 and y%100 != 0) or y%400 ==0:
                month[2] = 29
            else:
                month[2] = 28
            for j in range(0,12):
                if i==1 and j==0:
                    continue
                week_start = (week_start + month[j]) % 7
                weeks[week_start] +=1
    print weeks[week]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值