Long year: Difference between revisions

Content added Content deleted
(Add BCPL)
(Add Modula-2)
Line 1,273: Line 1,273:
, 2099 long year
, 2099 long year
}</pre>
}</pre>

=={{header|Modula-2}}==
<lang modula2>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.</lang>
{{out}}
<pre>2004
2009
2015
2020
2026
2032
2037
2043
2048
2054
2060
2065
2071
2076
2082
2088
2093
2099</pre>


=={{header|Nim}}==
=={{header|Nim}}==