29 lines
791 B
Text
29 lines
791 B
Text
func leap year .
|
|
return if year mod 4 = 0 and (year mod 100 <> 0 or year mod 400 = 0)
|
|
.
|
|
func weekday year month day .
|
|
normdoom[] = [ 3 7 7 4 2 6 4 1 5 3 7 5 ]
|
|
c = year div 100
|
|
r = year mod 100
|
|
s = r div 12
|
|
t = r mod 12
|
|
c_anchor = (5 * (c mod 4) + 2) mod 7
|
|
doom = (s + t + (t div 4) + c_anchor) mod 7
|
|
anchor = normdoom[month]
|
|
if leap year = 1 and month <= 2
|
|
anchor = (anchor + 1) mod1 7
|
|
.
|
|
return (doom + day - anchor + 7) mod 7 + 1
|
|
.
|
|
mdays[] = [ 31 28 31 30 31 30 31 31 30 31 30 31 ]
|
|
mon$[] = [ "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec" ]
|
|
#
|
|
for year = 1900 to 2100
|
|
for m to 12
|
|
if mdays[m] = 31 and weekday year m 1 = 6
|
|
print year & "-" & mon$[m]
|
|
sum += 1
|
|
.
|
|
.
|
|
.
|
|
print "Total : " & sum
|