missvita
?>

Вплацкартном вагоне 54 места, пронумерованных числами от 1 до 54. вагон разбит на 9 купе. первые 36 мест расположены по левую сторону от прохода, места 1–4 находятся в первом купе, места 5–8 – во втором и т. д. в девятом купе находятся места с номерами 33– 36. по правую сторону от прохода находятся боковые места, их номера от 37 до 54, причём они нумеруются в противоположном направлении: места 37 и 38 находятся напротив девятого купе, а места 53 и 54 – напротив первого. ниже схема всех мест в вагоне. 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 53 54 51 52 49 50 47 48 45 46 43 44 41 42 39 40 37 38 группа школьников едет на олимпиаду и будет всю дорогу крутить спиннеры. поэтому им нужно купить места в нескольких подряд идущих купе вместе с прилегающими боковыми местами. даны номера свободных мест в поезде. определите, какое наибольшее число подряд идущих купе полностью свободны. программа получает на вход число n – количество свободных мест в вагоне (0 ≤ n ≤ 54 следующие n строк содержат номера свободных мест – различные числа от 1 до 54 в произвольном порядке, по одному числу в строке. программа должна вывести одно целое число – максимальное число подряд идущих свободных купе (купе – 4 места слева от прохода и 2 боковых места) в этом вагоне.

Информатика

Ответы

msk27

// PascalABC.NET

// Версия 3.3.5 сборка 1662 (29.04.2018)


function num(n: integer): integer;
begin
  if n <= 36 then num := (n - 1) div 4
  else num := 8 - (n - 37) div 2
end;

begin
  var carr := ArrFill(9, 0);
  for var i := 1 to ReadInteger do carr[num(ReadInteger)] += 1; 
  
  carr.AdjacentGroup.Where(t -> t[0] = 6).Select(t -> t.Count).Max.Println;

end.


Пример:

  Ввод:

  12

  5 6 3 4 8 7 51 9 10 54 49 52

  Вывод:

   1

Elen-ti81459

Для начала необходимо вычислить значение выражения: 3658979549970420

После переводим в шестеричную систему, деля число на 6 и записывая остатки в обратном порядке:

3658979549970420/6 -->0

609829924995070/6 --> 4

101638320832511/6 --> 5

16939720138751/6 -->5

2823286689791/6 -->5

470547781631/6 --> 5

78424630271/6 --> 5

13070771711/6 --> 5

2178461951/6 --> 5

363076991/6 --> 5

60512831/6 --> 5

10085471/6 --> 5

1680911/6 --> 5

280151/6 --> 5

46691/6 --> 5

7781/6 --> 5

1296/6 --> 0

216/6 --> 0

36/6 --> 0

6/6 --> 0

1 --> 1

100005555555555555540

ответ: 5

shkola8gbr
По синтаксису Паскаля, между блоками if и else не должна стоять точка с запятой. Иначе компилятор сочтёт это за два раздельных блока и выдаст ошибку компиляции.
if (x >= 0) and (...) then writeln('Входит')
else writeln('Не входит');
То есть, после writeln('Входит') не должно быть точки с запятой.
Только тогда в блоке "else" не нужны условия ("else (...) and (...) ..." выдаст ошибку компиляции).

Ещё можно "else" заменить на "if", и получится два раздельных if-блока. Скорее всего, это и имел в виду компилятор.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вплацкартном вагоне 54 места, пронумерованных числами от 1 до 54. вагон разбит на 9 купе. первые 36 мест расположены по левую сторону от прохода, места 1–4 находятся в первом купе, места 5–8 – во втором и т. д. в девятом купе находятся места с номерами 33– 36. по правую сторону от прохода находятся боковые места, их номера от 37 до 54, причём они нумеруются в противоположном направлении: места 37 и 38 находятся напротив девятого купе, а места 53 и 54 – напротив первого. ниже схема всех мест в вагоне. 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 53 54 51 52 49 50 47 48 45 46 43 44 41 42 39 40 37 38 группа школьников едет на олимпиаду и будет всю дорогу крутить спиннеры. поэтому им нужно купить места в нескольких подряд идущих купе вместе с прилегающими боковыми местами. даны номера свободных мест в поезде. определите, какое наибольшее число подряд идущих купе полностью свободны. программа получает на вход число n – количество свободных мест в вагоне (0 ≤ n ≤ 54 следующие n строк содержат номера свободных мест – различные числа от 1 до 54 в произвольном порядке, по одному числу в строке. программа должна вывести одно целое число – максимальное число подряд идущих свободных купе (купе – 4 места слева от прохода и 2 боковых места) в этом вагоне.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yatania-popovich7
misspodvigina
osipov1984osipov
olma-nn477
aynaakzhigitova
vantoslaltd
juliajd
windless-el
voropayelena26
lazarevaavrora
Aleksei Biketova
Роман_Гречина
sashakrotova943
polina3mag
generallor3