根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上?

来源:互联网 发布:android merge性能优化 编辑:程序博客网 时间:2024/04/28 08:18

-- coding: utf-8 --

“””
Created on Sun Sep 06 08:51:53 2015

@author: MONKEY
根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上?

a) 1900.1.1是星期一
b) 1月,3月,5月,7月,8月,10月和12月是31天
c) 4月,6月,9月和11月是30天
d) 2月是28天,在闰年是29天
e) 公元年数能被4整除且又不能被100整除是闰年
f) 能直接被400整除也是闰年

输出格式:
一个正整数

对了,答案是171.

"""num=0day=2for year in range(1901,2001):    if (year%4==0 and year%100!=0) or (year%400==0): #判断为闰年        for month in range(1,13):                    #对于12个月各自进行判断相#加            if month==2:                day+=1            elif month==4 or month==6 or month==9 or month==11:                day+=2            else:                day+=3            if day>7:                                                day%=7            # print day             if day==7:                                #若为星期天,则加一                num+=1    else:                                             #若不是闰年        for month in range(1,13):            if month==2:                day+=0            elif month==4 or month==6 or month==9 or month==11:                day+=2            else:                day+=3            if day>7:                day%=7            #print day            if day==7:                num+=1           # print dayprint num
0 0
原创粉丝点击