根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上?
2015-09-06 23:25
417 查看
-- 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=0 day=2 for 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 day print num
相关文章推荐
- 【C#代码】字符串类型转换成枚举类型
- Mantis使用__提高
- JavaScript设计模式
- C++ 重载操作符之一(指针运算符*,->)
- gcc编译的一些使用记录
- const与指针
- Java中的HashCode
- Mantis使用__基础
- poj1004 解题报告
- 背景与前景课上练习
- 程序员面试题集锦
- 广播 BroadCastReceiver
- git push时免除输入账号密码
- IOS KVC
- 计算机网络各层协议【转载】
- OC实战: ARC 下使用 Block 实现链式语法
- Shell之-备份系统重要文件
- 扫描系统图片文件和视频文件
- 链接时库的顺序问题
- ArrayList类是一个特殊的数组