My friend and I were curious and we can now do the party trick of figuring out what day of the week a birthday falls on.
For the impatient, here’s the formula :
Where d is the day, y is the last 2 digits of your birth year (throw away any remainder of the division) and mlookup is a lookup table :
And the result is 0 = Sunday, 1 = Monday, etc
I was watching a show about Daniel Tammet, an autistic savant, and telling my friend Dave about it. One of the things that the media often focus on is how these savants can calculate the day you were born on.
I’ve always suspected that it can’t be that hard to do – there must be some formula for it – and I said so to Dave.
So we got curious and went to find the formula. Sure enough we found one.
At first it looked a bit long-winded. But after a bit of wrangling, we got it down to it’s bare essence with a couple of shortcuts (ie lookup tables in programmer-speak). Now we can do the calculations in our head. It’s still a bit of mental effort but nothing too onerous with a bit of practise.
We got the original formula from here :
And you can check your answers here :
Here is an example – 18th December 1977 gives
(18 + 2 + (10 * 76)/8 + 10 ) mod 7
A quick way of dividing by 8 is to divide in half 3 times, so 770/8 = 385/4 = 192/2 = 96.
18 + 2 + 96 + 10 = 126.
126 mod 7 = 0
So 18th December 1977 was a Sunday!
PS I’m in no way down-playing the abilities of savants – I think they’re amazing! Remembering this simple formula is one thing, doing calculations out to hundreds of decimal places or remembering what the weather was like on a specific date is quite another!
PPS The shortcuts we took only work for birthdays after 1900.