A188528 First month in year n with a "Friday the 13th", starting from 1901.
9, 6, 2, 5, 1, 4, 9, 3, 8, 5, 1, 9, 6, 2, 8, 10, 4, 9, 6, 2, 5, 1, 4, 6, 2, 8, 5, 1, 9, 6, 2, 5, 1, 4, 9, 3, 8, 5, 1, 9, 6, 2, 8, 10, 4, 9, 6, 2, 5, 1, 4, 6, 2, 8, 5, 1, 9, 6, 2, 5, 1, 4, 9, 3, 8, 5, 1, 9, 6, 2, 8, 10, 4, 9, 6, 2, 5, 1, 4, 6, 2, 8, 5, 1, 9
Offset: 1901
Keywords
Examples
Number of times all months occur on "Friday the 13th" in the past century and the current one: | Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ----------+------------------------------------------------ 1991-2000 | 14 14 4 10 14 14 0 11 15 4 0 0 2000-2100 | 14 15 3 11 14 15 0 11 14 3 0 0 The table doesn't say that there are no "Friday the 13ths" in July, November, and December: just first occurrences are considered, e.g. Nov 13 2009 is on a Friday, but a(2009) = 2; Jul 13 2012 is on a Friday, but a(2012) = 1; and Dec 13 2024 is on a Friday, but a(2024) = 9.
References
- Chr. Zeller, Kalender-Formeln, Acta mathematica, 9 (1886), 131-136.
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1901..3000
- J. R. Stockton, Rektor Chr. Zeller's 1886 Paper "Kalender-Formeln"
- Eric Weisstein's World of Mathematics, Triskaidekaphobia
- Wikipedia, Triskaidekaphobia
- Index entries for sequences related to calendars
Programs
-
Haskell
import Data.List (findIndex) import Data.Maybe (fromJust) a188528 n = succ $ fromJust $ findIndex (\m -> h n m 13 == 6) [1..12] where h year month day -- cf. Zeller reference. | month <= 2 = h (year - 1) (month + 12) day | otherwise = (day + 26 * (month + 1) `div` 10 + y + y `div` 4 + century `div` 4 - 2 * century) `mod` 7 where (century, y) = divMod year 100 b188528 = bFileFun "A188528" a188528 1991 3000 -- For statistics (see example) ... ff13_perMonth ys m = length $ filter (== m) (map a188528 ys) century20 = map (ff13_perMonth [1901..2000]) [1..12] century21 = map (ff13_perMonth [2001..2100]) [1..12]
-
Mathematica
<< Calendar`; Table[Select[ Table[ {yr,n,13},{n,12}],DayOfWeek[#]==Friday&,1][[1,2]],{yr,1901,2011}] (* Harvey P. Dale, Oct 26 2011 *)
-
Python
from datetime import date def a(n): for month in range(1, 13): if date.isoweekday(date(n, month, 13)) == 5: return month print([a(n) for n in range(1901, 1986)]) # Michael S. Branicky, Sep 06 2021
Comments