RosettaCodeData/Task/Long-year/PL-0/long-year.pl0
2023-07-01 13:44:08 -04:00

29 lines
574 B
Text

var startyear, endyear, year, longyear, ayear, weekday;
procedure calcweekday;
begin
weekday := ayear + ayear / 4 - ayear / 100 + ayear / 400;
weekday := weekday - (weekday / 7) * 7
end;
procedure calclongyear;
begin
longyear := 0; ayear := year;
call calcweekday;
if weekday = 4 then longyear := 1;
ayear := year - 1;
call calcweekday;
if weekday = 3 then longyear := 1
end;
begin
? startyear;
? endyear;
year := startyear;
while year <= endyear do
begin
call calclongyear;
if longyear <> 0 then ! year;
year := year + 1
end
end.