25 lines
609 B
Text
25 lines
609 B
Text
100 REM Long year
|
|
110 DECLARE EXTERNAL FUNCTION IsLY
|
|
120 DECLARE EXTERNAL FUNCTION WD
|
|
130 PRINT "**** List of ISO long years ****"
|
|
140 INPUT PROMPT "Start year: ": S
|
|
150 INPUT PROMPT "End year: ": E
|
|
160 PRINT
|
|
170 FOR Y = S TO E
|
|
180 IF IsLY(Y) <> 0 THEN PRINT Y;
|
|
190 NEXT Y
|
|
200 PRINT
|
|
210 END
|
|
220 REM
|
|
230 EXTERNAL FUNCTION IsLY(Y)
|
|
240 REM Nonzero if Y is long
|
|
250 IF (4 = WD(Y)) OR (3 = WD(Y - 1)) THEN
|
|
260 LET IsLY = -1
|
|
270 ELSE
|
|
280 LET IsLY = 0
|
|
290 END IF
|
|
300 END FUNCTION
|
|
310 REM
|
|
320 EXTERNAL FUNCTION WD(Y)
|
|
330 LET WD = MOD(Y + INT(Y / 4) - INT(Y / 100) + INT(Y / 400), 7)
|
|
340 END FUNCTION
|