What day of the week will May 12, 2034 be? What day of the week was May 12, 1298? Here's a neat algorithm that will tell you:
(Note: all divisions, except where noted otherwise, are integer divisions, in which remainders are discarded.)
First figure out the values for a, y, and m -- variables to be plugged into a formula.
a = (14 - month)/12 (month = # of month, 1 for Jan, 2 for Feb, etc)
y = year - a (year = the 4 digit year)
m = month + 12a - 2
Next, plug the values of y and m into the following formula to calculate the day:
d = (day + y + y/4 - y/100 + y/400 + 31m/12) mod 7
(Note: mod 7 means "modulo division." That is, take the remainder instead of the quotient as your answer. For example, 20 mod 3 = 2, because the remainder is 2.)
The answer you get for d will correspond to a day of the week as such:
0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
Here's an example.
What day of the week will April 5, 2020 fall on?
First figure out a, y, and m:
a = (14 - 4)/12 = 0 (remember, it's integer division so remainders are discarded. 4 represents the month of April since it's the fourth month of the year.)
y = 2020 - 0 = 2020
m = 4 + 12(0) - 2 = 2
Now plug y and m into the d formula to calculate the day:
d = (5 + 2020 + 2020/4 - 2020/100 + 2020/400 + 31(2)/12) mod 7
d = (5 + 2020 + 505 - 20 + 5 + 5) mod 7
d = 2520 mod 7
d = 0 (2520/7 = 360 with a remainder of 0)
Recall from above that 0 = Sunday. So April 5, 2020 will be a Sunday.
Cool, huh? Remember, you can do this for dates in the past as well.
http://www.curiousmath.com/index.php?name=News&file=article&sid=6
Thursday, April 3, 2008
Subscribe to:
Posts (Atom)