Регистрация
Войти
Стать экспертом Правила
Информатика

Составить программу в PascalABC День программиста традиционно отмечается в Беларуси в 256-й день года. Число256 (28) выбрано потому, что оно представляет количество различных целых чисел, которыеможно выразить с помощью одного восьмиразрядного байта. А день веб-программистаежегодно празднуют 4 апреля. Эта дата также выбрана не случайно: цифры 4.04 оченьнапоминают по своему написанию ошибку 404 («Страница не найдена»), имеющую прямоеотношение к работе веб-мастеров. В нынешнем году, кстати, день веб-программиставыпадает на вторник, а день программиста — на среду.В ответе укажите, Как узнать сколько раз за ближайшие 100 лет оба праздника выпадут на один итот же день недели.

ОТВЕТЫ
const
 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. Високосные годы, однако )
546
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам