RosettaCodeData/Task/Long-year/ANSI-BASIC/long-year.basic
2026-04-30 12:34:36 -04:00

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