29 lines
574 B
Text
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.
|