收藏
难度:简单
标签:卓越班选拔
题目描述
编写一个程序,只要输入年月日,就能回答那天是星期几。
能被4整除但不能被100整除的,或者能被400整除的是闰年。
1、已知公元1年1月1日是星期一
2、算法:如果输入的是2006年7月10日,计算方法是
(1)先计算从公元1年1月1日到2005年末(2005-12-31)共多少天,注意其中有闰年
(2)然后再计算2006年1月1日到2006年7月10有多少天。
注意同样判断本年度是否闰年,即二月份是28天还是29天。
(3)上述两部分相加计算得到的天数,用该天数与7求余,余数即为星期几。
输入
输入一个日期,包括年、月、日。(一组测试数据)
输出
输出这个日期是星期几。
样例输入复制
1 1 1 2 1 1 2006 7 10
样例输出复制
Monday Tuesday Monday
题目提供者:西南科技大学计算机学院程序设计C实验指导书 v1.2
时空限制:5000ms/65535kb
通过次数:10863
提交次数:37685
Feb=0
rest1=0
def runnian(n):if (n%4==0 and n%100!=0) or n%400==0:return Trueelse:return Falsedict={1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday",0:"Sunday"}
dict1={1:31,2:Feb,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
s=input()
year=int(s.split()[0])
month=int(s.split()[1])
day=int(s.split()[2])
for i in range(1,year):if runnian(i)==True:rest1+=366else:rest1+=365
if runnian(year):Feb=29
else:Feb=28
for i in range(1,month):rest1+=dict1[i]
for i in range(1,day):rest1+=1
print(dict[rest1%7+1])