Weekly Challenge 41: Happy birthDay
This solution is not complete,
but does indicate why the formula works. It will make more sense if
you test it out using a spreadsheet.
This tasks seems daunting at first but then you might realise that
essentially the function is a 'counter' and the year starts at 1st
March and ends on 28/9th of February.
Years are always of the same structure with the exception of the
last day of Feb:
From 1st March to 1st April is +31 days.
From 1st April to 1st May is +30 days.
From 1st May to 1st June is +31 days.
etc.
For weekday calculations we are only interested in mod 7 changes.
Since 31 is 3 mod 7 and 30 is 2 mod 7 we have the following
differences between the first of the months, with the +0/1
corresponding to February.
(1Mar) +3, +2, +3, +2, +3, +3, +2, +3, +2, +3, +3,+0/1 (1Mar)
Accumulating the changes from the 1st March (mod 7)
gives
(1Mar) 0
(1Apr) 3
(1May) 5
(1Jun) 1
(1Jul) 3
(1Aug) 6
(1Sep) 2
(1Oct) 4
(1Nov) 0
(1Dec) 2
(1Jan) 5
(1Feb) 1
(1Mar) 1 or 2 in a leap year
Interestingly, the $\mbox{int}\left[\frac{(m+1)\times
26}{10}\right]$ part matches these offsets with the labellings of
months given (try it out to see).
So, in the absence of leap years the expression would work.
The part
$y+\mbox{int}\left[\frac{y}{4}\right]+\mbox{int}\left[\frac{C}{4}\right]-2C$
has the correct mod 7 behaviour to count the leap years (try it).