\[w = \big(d + (2.6m - 0.2) + 5R(y, 4) + 4R(y, 100) + 6R(y, 400) \big) \mod 7\]
微博上造谣的脑洞真是越来越大了…
在微博上看到一条 po,说今年的 8 月份同时有 5 个星期五,5 个星期六和 5 个星期天,是 823 年才见一次的“满银口袋”现象…
其实只要一个月中有 31 天,且这个月的 1 号是星期五,那么这个月就会是所谓的“满银口袋”,即使加上 8 月份这个限定条件,也不见得多么罕见的事。
高斯在他的笔记中记录过一个计算星期的算法(仅适用于公历),就是题图中的那个啦。其中:
\(R(a, b)\)指\(a\)除以\(b\)的余数;
\(y\)指年份,在计算一月或二月时年份减一;
\(m\)指\((月份 - 2) mod 12\);
\(d\)指日期;
具体说明见 维基…
计算了一下,21 世纪中 8 月份是”满银口袋”的年份有:
2003, 2008, 2014, 2025, 2031, 2036, 2042, 2053,
2059, 2064, 2070, 2081, 2087, 2092, 2098, 2104,
2110, 2121, 2127, 2132, 2138, 2149, 2155, 2160,
2166, 2177, 2183, 2188, 2194, 2200, 2206, 2217,
2223, 2228, 2234, 2245, 2251, 2256, 2262, 2273,
2279, 2284, 2290, 2302, 2313, 2319, 2324, 2330,
2341, 2347, 2352, 2358, 2369, 2375, 2380, 2386,
2397, 2403, 2408, 2414, 2425, 2431, 2436, 2442,
2453, 2459, 2464, 2470, 2481, 2487, 2492, 2498,
2504, 2510, 2521, 2527, 2532, 2538, 2549, 2555,
2560, 2566, 2577, 2583, 2588, 2594, 2600, 2606,
2617, 2623, 2628, 2634, 2645, 2651, 2656, 2662,
2673, 2679, 2684, 2690, 2702, 2713, 2719, 2724,
2730, 2741, 2747, 2752, 2758, 2769, 2775, 2780,
2786, 2797, 2803, 2808, 2814, 2825, 2831, 2836,
2842, 2853, 2859, 2864, 2870, 2881, 2887, 2892,
2898, 2904, 2910, 2921, 2927, 2932, 2938, 2949,
2955, 2960, 2966, 2977, 2983, 2988, 2994
这 1000 年中一共有 143 次“满银口袋”…不知道原作者用的是什么神奇的历法…
题外话:比较残念的是感觉 WP 的 Latex 支持略差,小图看起来字体毛边超多…