REM Long year CLS PRINT "**** List of ISO long years ****" PRINT "Start year"; INPUT S PRINT "End year"; INPUT E PRINT FOR Y = S TO E GOSUB CALCLY: IF LY <> 0 THEN PRINT Y; ENDIF NEXT Y PRINT END CALCLY: REM Nonzero if Y is long LY = 0 AY = Y GOSUB CALCWD: IF WD = 4 THEN LY = -1 ENDIF AY = Y - 1 GOSUB CALCWD: IF WD = 3 THEN LY = -1 ENDIF RETURN CALCWD: REM Weekday of AY-12-31, 0 = Sunday WD = AY TMP = AY / 4 WD = WD + TMP TMP = AY / 100 WD = WD - TMP TMP = AY / 400 WD = WD + TMP WD = WD MOD 7 RETURN