21 lines
646 B
Plaintext
21 lines
646 B
Plaintext
INSTALL @lib$ + "DATELIB"
|
|
|
|
REM The function as per specification.
|
|
DEF FNLongYear(year%)=FN_dow(FN_mjd(1, 1, year%)) == 4 OR FN_dow(FN_mjd(31, 12, year%)) == 4
|
|
|
|
REM Demonstrating its use.
|
|
PROCPrintLongYearsInCentury(20)
|
|
PROCPrintLongYearsInCentury(21)
|
|
PROCPrintLongYearsInCentury(22)
|
|
END
|
|
|
|
DEF PROCPrintLongYearsInCentury(century%)
|
|
LOCAL year%, start%
|
|
start%=century% * 100 - 100
|
|
PRINT "The long years between ";start% " and ";start% + 100 " are ";
|
|
FOR year%=start% TO start% + 99
|
|
IF FNLongYear(year%) PRINT STR$year% + " ";
|
|
NEXT
|
|
PRINT
|
|
ENDPROC
|