在西方,如果某个月的13号那天恰好是星期五,这一天就被称为十三号星期五(Friday the 13th)。传说这一天容易发生不幸的事情。如果你在网上搜索“黑色星期五”(Black Friday),会看到历史上很多不幸的事都发生在这一天。下面是WikiPedia上面列出的最近几百年内影响较大的黑色星期五事件:
- Black Friday (1769), the Fisk-Gould Scandal, a financial crisis in the United States
- Black Friday (1881), the Eyemouth disaster in which 189 fishermen died
- Black Friday (1910), a particularly violent women‘s suffrage event in England
- Black Friday (1929), a finance crash at the Wall Street, which affected world‘s economy
- Black Friday (1939), a day of devastating bushfires in Victoria, Australia, which killed 71 people
- Black Friday (1945), an Allied air attack against German ships in Norway
- Hollywood Black Friday (1945), a riot at the Warner Bros. studios
- Black Friday (1978), a massacre of protesters in Iran
- Black Friday (1987), a tornado in Edmonton, Alberta, Canada
- Black Friday (1993), a series of bomb explosions in Mumbai, India
- Black Friday (Maldives), a 2004 crackdown by government forces on a peaceful protest
- Black Friday (2011) or United States v. Scheinberg et al., a case involving online poker companies
那么这些不幸的事件发生真的是因为撒旦的黑魔法吗,还是仅仅是巧合呢?
要回答这个问题,必须把历史上所有(不幸)事件列出来,找出哪些是发生在13号星期五这一天的,再看看它在所有事件中的比例有多大。如果远远高于普通日子的比例,就可以说明这一天确实是有那么点儿邪门的。
当然要完成这个工作的工作量是非常大的,我们在这里仅仅定性分析一下,从侧面来感受这个问题。
从公元元年到现在,共2千年的时间,在这2千年中,一共有多少个13号星期五呢?十几次?几十次?还是几百次?亦或几千几万次?
几万次肯定是不可能了,因为2千年一共只有2万4千个月,所以除非每个月的13号都恰好是星期五才会发生这种情况,但这是有悖于我们的常识和直观感受的。
作为程序员,我们拿到这个问题后的第一想法可能是通过编程来求解(我开始就是这么干的,哈哈):只要依次判断每一年的每一个月的13号是星期几,统计其中是星期五的日子有多少个就行了。
这对于有日历工具类或工具函数的编程语言来说是个相当简单的工作,但如果您使用的语言没有现成的工具类或函数提供,这个活儿可能并不是那么轻松。
如果你想编程来做,这里我提醒一下,编程的时候记得把闰年考虑进去哦。另外要注意,公元元年是公元1年。没有公元0年这一年。即公元元年的前一年是“公元前1年”,而非“公元0年”。
我在这里就偷个懒,仅仅从理论上来获得这个数量的下限值:即证明对于某任何一年,它至少有一个月的13号是星期五。
其实证明起来很简单,穷举就行了。
1. 假设1月13号是星期一,那么2月13号就是星期四,先不考虑闰年的情况,3月13号也是星期四,……以此类推。你会发现,6月13号正好是星期五
2. 假设1月13号是星期二,那么2月13号就是星期五。Binggo!后面的不用看了
3. 假设1月13号是星期三……
好吧,这么写太累了,我还是做一张表吧。
非闰年的情况:
1.13 |
2.13 | 3.13 | 4.13 | 5.13 | 6.13 | 7.13 | 8.13 | 9.13 | 10.13 | 11.13 | 12.13 |
星期一 | 星期四 | 星期四 | 星期日 | 星期二 | 星期五 | 星期日 | 星期三 | 星期六 | 星期一 | 星期四 |
星期六 |
星期二 | 星期五 | 星期五 | 星期一 | 星期三 | 星期六 | 星期一 | 星期四 | 星期日 | 星期二 | 星期五 |
星期日 |
星期三 | 星期六 | 星期六 | 星期二 | 星期四 | 星期日 | 星期二 | 星期五 | 星期一 | 星期三 | 星期六 |
星期一 |
星期四 |
星期日 | 星期日 | 星期三 | 星期五 | 星期一 | 星期三 | 星期六 | 星期二 | 星期四 | 星期日 | 星期二 |
星期五 |
星期一 | 星期一 | 星期四 | 星期六 | 星期二 | 星期四 | 星期日 | 星期三 | 星期五 | 星期一 | 星期三 |
星期六 |
星期二 | 星期二 | 星期五 | 星期日 | 星期三 | 星期五 | 星期一 | 星期四 | 星期六 | 星期二 | 星期四 |
星期日 |
星期三 | 星期三 | 星期六 | 星期一 | 星期四 | 星期六 | 星期二 | 星期五 | 星期日 | 星期三 |
星期五 |
如果是闰年的话:
1.13 |
2.13 | 3.13 | 4.13 | 5.13 | 6.13 | 7.13 | 8.13 | 9.13 | 10.13 | 11.13 | 12.13 |
星期一 |
星期四 | 星期五 | 星期一 | 星期三 | 星期六 | 星期一 | 星期四 | 星期日 | 星期二 | 星期五 | 星期日 |
星期二 |
星期五 | 星期六 | 星期二 | 星期四 | 星期日 | 星期二 | 星期五 | 星期一 | 星期三 | 星期六 | 星期一 |
星期三 |
星期六 | 星期日 | 星期三 | 星期五 | 星期一 | 星期三 | 星期六 | 星期二 | 星期四 | 星期日 | 星期二 |
星期四 |
星期日 | 星期一 | 星期四 | 星期六 | 星期二 | 星期四 | 星期日 | 星期三 | 星期五 | 星期一 | 星期三 |
星期五 |
星期一 | 星期二 | 星期五 | 星期日 | 星期三 | 星期五 | 星期一 | 星期四 | 星期六 | 星期二 | 星期四 |
星期六 |
星期二 | 星期三 | 星期六 | 星期一 | 星期四 | 星期六 | 星期二 | 星期五 | 星期日 | 星期三 | 星期五 |
星期日 |
星期三 | 星期四 | 星期日 | 星期二 | 星期五 | 星期日 | 星期三 | 星期六 | 星期一 | 星期四 | 星期六 |
这样就能看得很清楚了,无论是不是闰年,每年总有1到3个月的13号是星期五。所以2千年中至少已经出现了2千个13号星期五。
开始时,这个结论还是颇让我感到惊讶的。在此之前我所想象的数字大概在几十到一两百之间,没想到居然如此频繁,这大大出乎了我的意料。
既然13号星期五如此常见,看来那些说在这一天容易发生不幸事件的传说就很可能是毫无根据的了。毕竟如果每年都至少有一天,那么隔上几十年发生一次不幸事件也不能说明任何问题。常在河边站哪有不湿鞋呢,是吧?