From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_40,INVALID_MSGID, LOTS_OF_MONEY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f7be1,be6b7e036aa9236c X-Google-Attributes: gidf7be1,public X-Google-Thread: 11390f,be6b7e036aa9236c X-Google-Attributes: gid11390f,public X-Google-Thread: 103376,be6b7e036aa9236c X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,be6b7e036aa9236c X-Google-Attributes: gid1014db,public X-Google-Thread: 101deb,be6b7e036aa9236c X-Google-Attributes: gid101deb,public X-Google-Thread: 1094ba,be6b7e036aa9236c X-Google-Attributes: gid1094ba,public X-Google-Thread: 1164ba,be6b7e036aa9236c X-Google-Attributes: gid1164ba,public X-Google-Thread: fa0ae,be6b7e036aa9236c X-Google-Attributes: gidfa0ae,public From: bwalker@csl.co.uk (Barrie Walker) Subject: Re: Friday 13th, try it yourself (was Language Wars..) Date: 1996/09/25 Message-ID: <52b2ks$jcb@internet.csl.co.uk>#1/1 X-Deja-AN: 185231712 distribution: inet references: <51bv60$8d@pheidippides.axion.bt.co.uk> <32406D89.233E@watson.ibm.com> <3242D1EB.3F54@ford.com> content-type: Text/Plain; charset=US-ASCII organization: Concept Systems Ltd mime-version: 1.0 newsgroups: comp.lang.ada,comp.lang.apl,comp.lang.basic,comp.lang.c,comp.lang.fortran,comp.lang.perl.misc,comp.lang.pl1,comp.lang.rexx,comp.lang.pascal.misc,comp.lang.smalltalk Date: 1996-09-25T00:00:00+00:00 List-Id: In article , mose@ns.ccsn.edu says... > >Reposting article removed by rogue canceller. > >Clinton Pierce writes: > >>See for yourself if the "Friday the 13th" thing is just a UL. If you trust >>UNIX's 'cal' program, and that it does the Right Thing with Leap Years, the >>Gregorian/Julian switch etc..etc... This Perl script will show you the Truth: > > I decided to write a script of my own for Solaris 2.4 and perl >5.003 which calls cal for 1066 to 1996 and rips out the Fridays. The >following is the number of times a particular day of the month falls >on a Friday. The results are pretty evenly distributed, i.e. it is an >Urban Legend. I think you have caught hold of the wrong end of the stick. The observation doesn't claim 1 that 13ths have a monopoly on Fridays - 6ths, 20ths and 27ths fall on just as many Fridays. 2 that the uneven distribution is restricted to Fridays - months are more likely to begin (1sts) on Sundays. 3 to work with anything but the current inplementation of the Gregorian calendar. Try the following script and tell me what's wrong with it. It suggests(?) that the 13th's distribution over the cycle is exactly: Sun Mon Tue Wed Thu Fri Sat 13 687 685 685 687 684 * 688 684 Now this is only _one_ (1) more than Sunday or Wednesday gets but "more" it certainly is. #! perl #start somewhere ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime( 0); for ($y=0; $y<400; $y++) { printf "%d\r", $y; for ($m=1; $m<=12; $m++) { $D = &days( $m, $y+1900+$year); for ($d=1; $d<=$D; $d++) { $k{$d,$wday}++; $wday++; $wday %= 7; } } } sub days { local( $m, $y) = @_; return 29 if $m==2 && (!($y%400) || ($y%100) && !($y%4)); (31,28,31,30,31,30,31,31,30,31,30,31)[$m-1]; } $D = (reverse sort values %k)[0]; print "$D\n"; for (keys %k) { $k{$_} = '* '.$k{$_} if $k{$_}==$D; } printf "%2s %7s %7s %7s %7s %7s %7s %7s\n", "", "Sun","Mon","Tue","Wed","Thu","Fri","Sat"; for ($d=1; $d<=31; $d++) { printf "%2s %7s %7s %7s %7s %7s %7s %7s\n", $d, $k{$d,0}, $k{$d,1}, $k{$d,2}, $k{$d,3}, $k{$d,4}, $k{$d,5}, $k{$d,6}; } -- Barrie Edinburgh, Scotland http://www.csl.co.uk