OJ之星期几算法(泽勒一致性)
泽勒一致性是由克里斯汀·泽勒开发的用于计算某天是星期几的算法。这个公式是:$$h = (q + 26 * (m + 1) / 10 + k + k / 4 + j / 4 + 5 * j) mod 7$$
其中:
<1> $h$是一个星期中的某一天($0$为星期六,$1$为星期天,$2$为星期一……$6$为星期五)
<2> $q$是某月的第几天
<3> $m$是月份($3$为三月,$4$为 四月……),一月和二月分别记为上一年的$13$和$14$月
<4> $j$是世纪数$- 1$,(即为$year / 100$)
<5> $k$是该世纪的第几年(即$year \% 100$)
注意:一月和二月在公式里是用$13$和$14$表示的,所以输入月份时$1$转换为$13$,$2$换为$14$,同时将年份改为前一年。
Min是清明的茗