你是否还记得,今年的4月13日是黑色星期五。短短三个月后,黑色星期五再次现身!为什么这一天老是出现呢?
恐怕心理原因是最好的解释。人们对黑色星期五的出现记忆更深刻,给人一种黑色星期五常常出现的错觉。有趣的是,仔细算一算,你会发现13日是星期五的次数真的要多一些。
很多人以为现在实行的历法是4年一循环,这是不对的。现在实行的历法以400年为一个循环。大家很容易忽略整百年的问题。一个很有意思的智力题就是问一个人是否可能连续5年不过生日。有个笑话说文科MM感叹她等了她男友4年,整整1460天,学理科的好友脱口而出“难道你男友是1900年的”。我们可以算一下在这400年中共有多少天:365*303+366*97=146097。这个数正好能被7整除。换句话说,现在与400年后的星期数不变,日历完全相同。在这400年里一共有4800个月,利用Zeller公式(见这里的最后一小节)可以编程统计出13日是星期几的次数最多,这对于OIer们再熟悉不过了,因为USACO有一道题就是干这种无聊的事情。下面就是程序运行后的结果:
- Sunday 687
- Monday 685
- Tuesday 685
- Wednesday 687
- Thursday 684
- Friday 688
- Saturday 684
可以看到,事实上13日是星期五的概率确实是最高的。
另外,注意到了么,利用“400年一周期”这个结论我们可以对USACO的那个题进行扩展,出一个Friday the Thirteenth数据加强版。
做人要厚道,转贴不注明出处者将受到黑色星期五的诅咒。