ProE 19 数星期天

有一说一,这题的难度在于算那些傻吊星期

思路

如果1号是星期一,那么1+7n后就是星期日

如果1号是星期二,那么2+7n后就是星期日

这可以一直类推下去

实现

这题的坑点是,从1901.01.01算,而1901.01.01是星期二…

def anual(n,day):
    year = 1
    if year%4 == 0:
        Feb = 29
    else:
        Feb = 28
    month = [31,Feb,31,30,31,30,31,31,30,31,30,31]
    ans = 0
    sun = 0
    while year <= n:
        for i in month:
            if (sun+day)%7 == 0:
                ans += 1
            sun += i
        year += 1
    return ans
print (anual(100,2))
点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *