D = int(input("Enter day: "))
M = int(input("Enter month number:
"))
Y = int(input("Enter year: "))
MCode = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5]
CCode = [6, 4, 2, 0, 6] # 1600-1699, 1700-1799, etc.
Days = ["Sunday",
"Monday", "Tuesday", "Wednesday",
"Thursday", "Friday",
"Saturday"]
C
= (Y // 100) % 16 # C ->
Century
num = D + MCode[M-1] + (Y%100) + ((Y%100)//4)
+ CCode[C]
print(Days[num%7])
Explanation below
Inputs
|
Output
|
||||
Month Codes
|
Century Codes
|
Day Codes
|
|||
January
|
0
|
1600 - 1699
|
6
|
Sunday
|
0
|
February
|
3
|
1700 - 1799
|
4
|
Monday
|
1
|
March
|
3
|
1800 - 1899
|
2
|
Tuesday
|
2
|
April
|
6
|
1900 - 1999
|
0
|
Wednesday
|
3
|
May
|
1
|
2000 - 2199
|
6
|
Thursday
|
4
|
June
|
4
|
|
|
Friday
|
5
|
July
|
6
|
|
|
Saturday
|
6
|
August
|
2
|
|
|
|
|
September
|
5
|
|
|
|
|
October
|
0
|
|
|
|
|
November
|
3
|
|
|
|
|
December
|
5
|
|
|
|
|
11 – 08 – 1966
(Day +MCode + Last 2 digits of year
+ Last 2 digits of year // 4 + CCode) % 7
(11 +
2 + 66 + 66 // 4 + 0) % 7
(11 +
2 + 66 + 16 + 0) % 7
95 % 7 = 13 4/7
4 (Thursday)