const names:array[1..7] of string=('пн','вт','ср','чт','пт','сб','вс');var k,i,n0,np,nw,year,dw:integer;begink:=0;n0:=6; //01.01.2000 - субботаfor i:=2000 to 2100 do begin if (i mod 400=0)or(i mod 4=0)and(i mod 100<>0) then begin year:=366; dw:=31+29+31+3; end else begin year:=365; dw:=31+28+31+3; end; np:=(255+n0-1) mod 7+1; nw:=(dw+n0-1) mod 7+1; n0:=(year+n0-1) mod 7+1; if np=nw then begin writeln(i,' - ',names[np]); k:=k+1; end; end;writeln('k = ',k);end.Результат:2000 - вт2004 - вс2008 - пт...2092 - пт2096 - срk = 25PS. Високосные годы, однако )