As readers of this previous post will know, I’m rather fond of mental calendar calculations. My friend Al Stanger, with whom I share a passion for recreational mathematics, came up with a remarkable procedure for finding the day of the week corresponding to any date in history using just a handful of playing cards. What’s particularly noteworthy about Al’s algorithm is that it involves no calculations whatsoever, and the information which needs to be looked up can be cleanly displayed on one of the cards.
When you work through Al’s procedure, it will feel like you’re performing a card trick on yourself – you will be amazed, surprised, and will likely have no idea how it works. I’ve never seen anything quite like this before, and I’m grateful to Al for allowing me to share his discovery with the public for the first time here on this blog.
What you’ll need:
- Six regular playing cards. (These cards will remain face down throughout the procedure, so it doesn’t matter which values or suits appear on the faces of these cards.)
- One special playing card displaying the following “clock faces” on the front and back, respectively:
One way to construct such a card is to print out the images above on thick white card stock and then trim the card stock down to the size of a playing card. (Here is a file which you might find to have better resolution for printing.) If you’re just trying to follow along with these instructions and don’t want to go to the trouble, just use a face-up joker as the special card and refer to the clock figures above as needed.
We’ll call the top clock face the “balanced” side of the card (since each of the four colors appears three times) and the bottom clock face (the one with the white circle in the 1:00 position) the “unbalanced” side.
Start with the special clock card on top of the other six cards. The unbalanced side of the clock card should be facing up and the other six cards should be face down.
The Stanger shuffle
Before we get into Al’s procedure, we need to learn the “Stanger shuffle” (or “reverse Faro deal”). It works like this:
Version 1 – with a table (easy)
Deal the 7 cards alternately from left to right into two piles. Pick up the right-hand pile (which has three cards) and drop it onto the left-hand pile (which has four cards).
Version 2 – in the hands (a little harder)
Hold the packet in your right hand with both palms facing up. Thumb the top card from your right hand into your left hand. Do the same with the second card, dealing it onto the first card, but up-jog the card as you deal it. This means that just the lower half of the original top card will now be visible. The third card is dealt onto the other two but is down-jogged so that it aligns with the original top card. Continue in this way through the whole packet, alternating down-jogs and up-jogs. You will end up with four cards down-jogged and three cards up-jogged. Strip out the three up-jogged cards as a group and drop them onto the remaining cards.
(If you think about it for a minute, you’ll see that this in-the-hands shuffle accomplishes exactly the same thing as the table version. It’s personal preference which version you use – Al prefers to do the entire procedure in the hands.)
The procedure
For simplicity, let’s assume for the moment that the date whose corresponding day of the week you’re trying to calculate does not occur in January or February; we’ll deal with those special cases later.
As a running example, we’ll use April 8, 1945 as our target date.
Step 1: Choosing the correct clock face
Look at the last two digits of the year (45 in our example).
- If the two digits have the same parity (both odd or both even), do nothing.
- If the two digits have different parities (one even and the other odd), flip the special card over.
In our running example, since 4 and 5 have different parities, we need to flip the special card over so that the balanced side is now face-up.
Al offers the following mnemonic here: one even and the other odd is balanced, so we use the balanced side. Both even or both odd is unbalanced, so we use the unbalanced side.
Step 2: Adjusting for the month
Convert the month to an hour on the clock face in the natural way (1:00 corresponds to January, 2:00 to February, etc.). Look up the number in the corresponding circle, and move that many cards from the top to the bottom of the seven-card stack.
In our running example, the month is April, which corresponds to 4:00. The number inside the circle at the 4:00 position is 5. (Remember, we’re looking at the balanced side of the card.) So move 5 cards from the top to the bottom (either one at a time or as a block, it doesn’t matter).
Step 3: Adjusting for the year
Suppose the four digits of the year are ABCD.
- Move A cards from the top to the bottom. (In our example, A=1.)
- Move B cards from the bottom to the top. (In our example, B=9; since there are only 7 cards you can, if you wish to save time, just move 2 cards from the bottom to the top instead of 9.)
- Move C cards from the top to the bottom. (In our example, C=4.)
Now spread through the packet and locate the special card. Convert the last digit D of the year to a clock position (with 1 corresponding to 1:00, 2 corresponding to 2:00, etc., and with 0 corresponding either to 10:00 or 12:00). Spell the color of the corresponding circle, moving one card from the top to the bottom for each letter. In our example, D=5 and the circle at the 5:00 position of the (balanced) clock face is blue. So we move 4 cards from the top to the bottom, one for each letter of “blue”.
Situation check: if you’ve done everything correctly so far in our running example, the special card should now be third from the top.
Note: the blank circle in the 1:00 position on the unbalanced clock face has no color, so you don’t move any cards from the top to the bottom in that case. (Do not spell “white”!) The other four colors are red, blue, yellow, and green.
Step 4: Adjusting for the day
Suppose the two digits of the day of the month are XY. (The day of the month must always be expressed in 2-digit format; roughly 30% of the time, X will equal 0. In our running example, XY=08.)
- Perform a Stanger shuffle.
- Move X cards from the top to the bottom. (In our example, since X=0, we don’t need to do anything here.)
- Perform another Stanger shuffle.
- Move Y cards from the top to the bottom. (In our example, since Y=8 and there are only 7 cards, we can just move 1 card from the top to the bottom if we want to save time. But if you don’t want to do any arithmetic at all, feel free to move 8 cards instead.)
Step 5: Finding the day of the week
Spread the cards from left to right into a little fan and look for the special card. Its position from left to right will tell you the day of the week:
- The left-most position (= bottom card of the packet) corresponds to Sunday.
- The next position (= second card from the bottom of the packet) corresponds to Monday.
- And so on, until we reach the right-most position (= top card of the packet), which corresponds to Saturday.
If you’ve followed the instructions correctly for our running example, the special card should now be on the bottom of the packet, which will be the left-most card when you spread them into a fan. Therefore April 8, 1945 was a Sunday.
What happens if the month is January or February?
We’re almost done… we just need to make one little adjustment if the month is January or February. We’ll call this:
Step 0: Adjusting for January/February
In this case, all we need to do is subtract 1 from the year at the very beginning of the procedure.
In other words, we treat January and February as if they belong to the previous calendar year. (While slightly irritating, this is also a clever way of sidestepping issues having to do with leap-years.)
Let’s take February 12, 2016 as another example. Here’s what we do to calculate the day of the week:
Step 0: Adjusting for January/February
Subtract 1 from the year to get 2015.
Step 1: Choosing the correct clock face
Since 1 and 5 are both odd, we don’t flip the special card. The unbalanced face remains face-up.
Step 2: Adjusting for the month
February is the 2nd month, and the number in the 2:00 position of the clock face is 0. So we don’t need to move any cards in this step.
Step 3: Adjusting for the year
- Move 2 cards from the top to the bottom.
- Move 0 cards from the bottom to the top.
- Move 1 card from the top to the bottom.
- Since we’re using 2015 rather than 2016 as the year, the last digit is 5. The circle in the 5:00 position of the (unbalanced) clock face is yellow. So we spell “yellow”, moving 6 cards from the top to the bottom.
Situation check: the special card should be second from the bottom.
Step 4: Adjusting for the day
- Perform a Stanger shuffle.
- Move 1 card from the top to the bottom.
- Perform another Stanger shuffle.
- Move 2 cards from the top to the bottom.
Situation check: the special card should now be second from the top.
Step 5: Finding the day of the week
Second from the top = Sixth from the bottom = Friday.
And indeed, if you tell your iPhone “Hey Siri, what day of the week was February 12, 2016?”, she will tell you Friday. Or type “February 12, 2016 day of the week” into Google and you’ll get the same answer.
Recap of the entire procedure
To recap, here’s the procedure one more time:
Step 0: Adjusting for January/February
We treat January and February as if they belong to the previous calendar year.
Step 1: Choosing the correct clock face
Look at the last two digits of the year.
- If they have the same parity, do nothing.
- If they have different parities, flip the special card over.
Step 2: Adjusting for the month
Convert the month to an hour on the clock face. Look up the number in the corresponding circle, and count that many cards from the top to the bottom.
Step 3: Adjusting for the year
Suppose the four digits of the year are ABCD.
- Move A cards from the top to the bottom.
- Move B cards from the bottom to the top.
- Move C cards from the top to the bottom.
- Convert D to a clock position. Spell the color of the corresponding circle from top to bottom.
Step 4: Adjusting for the day
Suppose the two digits of the day are XY.- Perform a Stanger shuffle.
- Move X cards from the top to the bottom.
- Perform another Stanger shuffle.
- Move Y cards from the top to the bottom.
Step 5: Finding the day of the week
Spread the cards. The position of the special card tells you the day of the week.
From left to right: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.
Compact summary of the procedure
M + Y1 – Y2 + Y3 + Y4 + * + D1 + * + D2
(Bold denotes a required look-up, * a Stanger Shuffle.)
The only time cards are moved bottom-to-top, rather than top-to-bottom, is for the Y2 digit.
Allowable centuries
Al’s algorithm will work for any Gregorian calendar dates from Mar 1, 1600 through Feb 29, 2400.
Why it works
I have no idea. It’s magic.
Pingback: The eternal card calendar – The nth Root