login
A157962
Table read by rows: Occurrences of Friday the 13th, T(n,1)=month (1 for January), T(n,2)=year-2000, starting year 2000.
3
10, 0, 4, 1, 7, 1, 9, 2, 12, 2, 6, 3, 2, 4, 8, 4, 5, 5, 1, 6, 10, 6, 4, 7, 7, 7, 6, 8, 2, 9, 3, 9, 11, 9, 8, 10, 5, 11, 1, 12, 4, 12, 7, 12, 9, 13, 12, 13, 6, 14, 2, 15, 3, 15, 11, 15, 5, 16, 1, 17, 10, 17, 4, 18, 7, 18, 9, 19, 12, 19, 3, 20, 11, 20, 8, 21, 5, 22, 1, 23, 10, 23, 9, 24, 12, 24
OFFSET
1,1
COMMENTS
Uses the Gregorian calendar.
LINKS
J. R. Stockton, Rektor Chr. Zeller's 1886 Paper "Kalender-Formeln" [Wayback Machine link from Felix Fröhlich, Sep 23 2019]
Eric Weisstein's World of Mathematics, Triskaidekaphobia
Chr. Zeller, Kalender-Formeln, Acta Mathematica, 9 (1886), 131-136.
FORMULA
a(2n+1) = a(2n + 1377), a(2n) = a(2n + 1376) + 400. - Charles R Greathouse IV, May 17 2011
EXAMPLE
a(39) = 1, a(40) = 12 -> Jan 2012,
a(41) = 4, a(42) = 12 -> Apr 2012,
a(43) = 7, a(44) = 12 -> Jul 2012,
a(45) = 9, a(46) = 13 -> Sep 2013.
MATHEMATICA
<< Calendar`; {y, m} = {2000, 1}; A157962 = {}; Do[ If[ m == 12, y = y + 1; m = 1, m = m + 1]; If[ DayOfWeek[ {y, m, 13}] == Friday, AppendTo[ A157962, {m , y - 2000}]] , {300}]; Flatten[A157962] (* Jean-François Alcover, Dec 16 2011 *)
Flatten[Table[If[DateValue[{2000+n, m, 13}, "DayName"]==Friday, {m, n}, {}], {n, 0, 25}, {m, 12}]/.{}->Nothing] (* Requires Mathematica version 10 or later *) (* Harvey P. Dale, May 10 2017 *)
PROG
(VBA) jo = 6 For a = 2000 To 2399 For b = 1 To 31 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And b = 13 Then ll = ll + 1: Cells(ll, 1) = 1: Cells(ll, 2) = a - 2000 Next b If a - 4 * Int(a / 4) = 0 Then GoTo 10 For c = 1 To 28 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And c = 13 Then ll = ll + 1: Cells(ll, 1) = 2: Cells(ll, 2) = a - 2000 Next c GoTo 20 10 For c = 1 To 29 jo = jo + 1: If jo = 7
Then jo = 0 If jo = 6 And c = 13 Then ll = ll + 1: Cells(ll, 1) = 2: Cells(ll, 2) = a - 2000 Next c 20 For d = 1 To 31 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And d = 13 Then ll = ll + 1: Cells(ll, 1) = 3: Cells(ll, 2) = a - 2000 Next d For e = 1 To 30 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And e = 13 Then ll = ll + 1: Cells(ll, 1) = 4: Cells(ll, 2) = a - 2000 Next e For f = 1 To 31 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And f = 13 Then ll = ll + 1: Cells(ll, 1) = 5: Cells(ll, 2) = a - 2000 Next f For g = 1 To 30 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And g = 13 Then ll = ll + 1: Cells(ll, 1) = 6: Cells(ll, 2) = a - 2000 Next g For h = 1 To 31 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And h = 13 Then ll = ll + 1: Cells(ll, 1) = 7: Cells(ll, 2) = a - 2000 Next h For i = 1 To 31 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And i = 13
Then ll = ll + 1: Cells(ll, 1) = 8: Cells(ll, 2) = a - 2000 Next i For j = 1 To 30 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And j = 13 Then ll = ll + 1: Cells(ll, 1) = 9: Cells(ll, 2) = a - 2000 Next j For k = 1 To 31 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And k = 13 Then ll = ll + 1: Cells(ll, 1) = 10: Cells(ll, 2) = a - 2000 Next k For l = 1 To 30 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And l = 13 Then ll = ll + 1: Cells(ll, 1) = 11: Cells(ll, 2) = a - 2000 Next l For m = 1 To 31 jo = jo + 1: If jo = 7 Then jo = 0 If jo = 6 And m = 13 Then ll = ll + 1: Cells(ll, 1) = 12: Cells(ll, 2) = a - 2000 Next m Next a End Sub
(Haskell)
a157962 n = a157962_list !! (n-1)
a157962_list = concat $ map (t 1 {- January -}) [0..] where
t 13 _ = []
t m n | h (n+2000) m 13 == 6 = m : n : t (succ m) n
| otherwise = t (succ m) n
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
-- Reinhard Zumkeller, May 17 2011
CROSSREFS
Sequence in context: A323836 A365893 A062520 * A063741 A320227 A284780
KEYWORD
nonn,tabf,easy
AUTHOR
Pierre CAMI, Mar 10 2009
STATUS
approved