Na blogu Andsola przeczytałem: Już prawie 80 lat temu niejaki B.H. Brown ustalił, że trzynasty dzień miesiąca najczęściej przypada w piątek, ale ta ponura prawda została ukryta przed ludźmi w zakurzonym piśmie matematycznym, do którego nikt nie zagląda. Odtwarzam tu to ścisłe wyliczenie, które znalazłem w książce Alfreda Posamentiera Math Wonders. Ten zaskakujący fakt światowa prasa nazywa Friday Leaks. Zachowaj i ty w komputerze te dane kompromitujące rozpowszechniane przez światową konspirację oficjalne kalendarze.
Jest tam nawet długa dyskusja na temat, dlaczego piątki 13-go wypadają częściej niż inne dni. Rozie zdecydował się napisać na swoim blogu: Postanowiłem to sprawdzić, metodą najdoskonalszą, czyli brute force. Co prawda tylko dla lat 1970-2037 czyli w Unix Epoch (pełne lata). [...] Piątek oznaczony jest cyfrą 5, jak widać występuje on jako trzynasty dzień miesiąca 117 razy, podobnie jak czwartek i niedziela , więcej w badanym okresie jest wtorków trzynastego (118), a najmniej śród (113). Pozostaje pytanie, dla jakich dokładnie lat prowadzona była analiza w oryginalnym wpisie. Na oko wygląda na jakieś 335 lat, pytanie które dokładnie. W każdym razie w badanym okresie nic nie wskazuje na większą częstotliwość występowania piątku w trzynasty dzień miesiąca.
Co wywołało kolejną dyskusję, bo taki szymonsokol napisał: Bardzo nieładny kod. Do wszelkich kalkulacji związanych z kalendarzem polecam moduł Date::Calc. Z jego pomocą można wykonać te obliczenia tak:[...] potwierdzający hipotezę (arbitralnie przyjąłem okres 1701-2100, ale okres 1801-2200 daje identyczne rezultaty).
Rozmowa przeniosła się później na blog Arka, gdzie Tichy napisał: Urodziny w piątek trzynastego jest bardziej prawdopodobne niż w sobotę, lub dowolny inny dzień tygodnia, trzynastego. a chwilę później: No, nie będę się spierał, bo sparwdzać samemu - jak juz masz dobry skrypt, to 400 czy 2000 lat nie czyni większej różnicy (oczywiście, zaniedbując zmiany kalendarza).
A ja w sumie nie mam, nie sprawdziłem. Po co komuś ufać, że napisał dobry skrypt i że nie pomylił się przy przepisywaniu wyników? Napisałem więc prosty programik, który wyszukuje sytuację opisaną na załączonym obrazku, tj. używając klasy DateTime (kalendarz gregoriański, zakres lat od 1 do 9999) zliczam dla wszystkich lat od 2100 idąc w dół (potem od 2099 w dół, od 2098 w dół itd.) wszystkie wystąpienia 13-go w kolejne dni tygodnia. Liczyć przestaję wtedy, gdy piątek zostanie zliczony 688 razy. Chcę sprawdzić jaki dokładnie okres brał autor tego opracowania.
Prosty programik w C# poniżej:
No i jak się okazało, microsoftowo-dotnetowa klasa DateTime działa identycznie do perlowej Date::Calc, co więcej wyszły identyczne wyniki do tych opublikowanych w 1933 roku, przygotowanych bez użycia komputerów, dla każdych czterystu lat (dokładnie tak, jak przewidział Bjab, który zwrócił uwagę, że co czterysta lat występuje wyjątek w rytmie lat przestępnych). Podsumowując: Andsol miał rację, a Rozie już nie.
Na zakończenie odpaliłem jeszcze program zliczający liczbę wypadania poszczególnych dni tygodnia wypadających na 13 dzień miesiąca od roku 1-go aż do 9999-go.
I wyszły następujące wyniki:
- Niedziela: 17173 (14,312%)
- Poniedziałek: 17123 (14,271%)
- Wtorek: 17124 (14,271%)
- Środa: 17173 (14,312%)
- Czwartek: 17097 (14,249%)
- Piątek: 17199 (14,344%)
- Sobota: 17099 (14,251%)
Oczywiście gdybyśmy za okres przyjęli wielokrotności 400-tu lat, np. od 1 do 4000 lat to procentowe wyniki będą identyczne jak w American Mathemacical Monthly.
A więc piątki 13-go górą!