23 lines
488 B
Plaintext
23 lines
488 B
Plaintext
MODULE LongYear;
|
|
FROM InOut IMPORT WriteCard, WriteLn;
|
|
|
|
VAR year: CARDINAL;
|
|
|
|
PROCEDURE isLongYear(year: CARDINAL): BOOLEAN;
|
|
PROCEDURE p(year: CARDINAL): CARDINAL;
|
|
BEGIN
|
|
RETURN (year + year DIV 4 - year DIV 100 + year DIV 400) MOD 7;
|
|
END p;
|
|
BEGIN
|
|
RETURN (p(year) = 4) OR (p(year-1) = 3);
|
|
END isLongYear;
|
|
|
|
BEGIN
|
|
FOR year := 2000 TO 2100 DO
|
|
IF isLongYear(year) THEN
|
|
WriteCard(year, 4);
|
|
WriteLn;
|
|
END;
|
|
END;
|
|
END LongYear.
|