В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Matveykaka
Matveykaka
11.04.2022 22:02 •  Информатика

Петя работает в техподдержке местного провайдера. Так как он достаточно опытный сотрудник, то ему поручаются настолько сложные задачи, что на их выполнение может уходить по несколько дней. Задачи поступают к Пете в начале рабочего дня, а о их выполнении он отчитывается в конце того рабочего дня, когда он закончил соответствующую работу. Сложным периодом в работе Петя называет последовательность идущих подряд дней, в которые ему требуется работать не менее чем над K задачами. Если один сложный период начинается в день, непосредственно следующий за окончанием другого такого периода, то они рассматриваются как один сложный период в работе.

Рабочие дни пронумерованы в хронологическом порядке натуральными числами.

Имеется N заданий, про которые известно в начале какого дня они были даны Пети и в конце какого дня он отчитался о их выполнении. Требуется найти все сложные периоды в работе.

Формат ввода
В первой строке вводятся два разделенных одним пробелом натуральных числа N и K. В следующих N строках вводятся по одной в строке пары разделенных одним пробелом натуральных чисел – номера дней начала и окончания работы над заявкой.
Формат вывода
В первой строке выведите целое неотрицательное число M – количество сложных периодов. В каждой из следующих M строк выведите описания очередного сложного периода: номера первого и последнего его дней.

Показать ответ
Ответ:
Умник333331
Умник333331
13.02.2021 20:23
В задании не сказано, откуда берутся исходные данные, поэтому будем вводить их с клавиатуры. Сначала ведем общее количество данных (не факт, что данные за месяц снимались строго ежедневно), а затем сами данные. Это позволит заодно осуществить контроль ввода.

var
  n,s,t,i:integer;
begin
  Write('Укажите количество данных: ');
  Read(n);
  Writeln('Теперь вводите данные');
  s:=0;
  for i:=1 to n do
    begin
    Read(t);
    s:=s+t
    end;
  Writeln('Средняя температура за месяц составила ',s/n:0:1)
end.

Пример решения

Укажите количество данных: 11
Теперь вводите данные
27 29 26 31 24 23 27 30 31 28 25
Средняя температура за месяц составила 27.4
0,0(0 оценок)
Ответ:
67679
67679
12.09.2021 04:57
//1. Переборный алгоритм Евклида (цикл repeat)

var a, b, с: integer; 

begin

  write('Введите два числа: ');

  readln(a, b);

  if a < b then с := a + 1 else с := b + 1;

repeat с := с - 1

  until (a mod с = 0) and (b mod с = 0);

  write('NOD = ', с)

end.

 

//2. Алгоритм с вычитанием (цикл while)

var  a, b: integer;

begin

  write('a = ');

  readln(a);

  write('b = ');

  readln(b);

  while a <> b do

    if a > b then

      a := a - b

    else

      b := b - a;

  writeln('NOD = ', a);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота