Составить программу в pascalabc день программиста традиционно отмечается в беларуси в 256-й день года. число 256 (28 ) выбрано потому, что оно представляет количество различных целых чисел, которые можно выразить с одного восьмиразрядного байта. а день веб-программиста ежегодно празднуют 4 апреля. эта дата также выбрана не случайно: цифры 4.04 напоминают по своему написанию ошибку 404 («страница не найдена»), имеющую прямое отношение к работе веб-мастеров. в нынешнем году, кстати, день веб-программиста выпадает на вторник, а день программиста — на среду. в ответе укажите, сколько раз за ближайшие 100 лет оба праздника выпадут на один и тот же день недели.
names:array[1..7] of string=('пн','вт','ср','чт','пт','сб','вс');
var k,i,n0,np,nw,year,dw:integer;
begin
k:=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 = 25
PS. Високосные годы, однако )