Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2738435
А
Аноним
05 февраля 2025 13:44 · публичный вопрос
А
Аноним

2 Задача 2 По информации об израсходованном трафике выведи массив с номерами дней, когда расход превосходил средний за этот период. В первой строке дано число N — количество дней,…

Запрос пользователя

2 Задача 2 По информации об израсходованном трафике выведи массив с номерами дней, когда расход превосходил средний за этот период. В первой строке дано число N — количество дней, затем в N строках записано по одному целому числу — количество израсходованных мегабайт. Требуется вывести массив чисел в соответствии с условием. Ввод Вывод 5 100 200 300 600 1000 [4, 5] 2 500 500 []

Ответ нейросети
05 февраля 2025 13:44

Для решения этой задачи необходимо произвести следующие шаги:

  1. Считать количество дней и данные о количестве израсходованных мегабайт за каждый из дней.
  2. Посчитать среднее количество мегабайт за весь период.
  3. Сравнить данные за каждый день с средним значением и сохранить номера дней, когда расход превышал среднее.
  4. Вывести массив с номерами этих дней.

Давайте разберем это шаг за шагом.

Шаг 1: Ввод данных

Мы вводим количество дней (N), а затем N раз вводим количество мегабайт, израсходованных за каждый из этих дней.

Например:

5
100
200
300
600
1000

Здесь мы имеем 5 дней с израсходованными мегабайтами: 100, 200, 300, 600 и 1000.

Шаг 2: Подсчет среднего значения

Следующим шагом мы должны рассчитать среднее значение. Среднее можно найти, сложив все значения и разделив на количество значений (N).

Формула: \[ \text{Среднее} = \frac{\text{Сумма всех мегабайт}}{N} \]

В нашем примере: \[ \text{Сумма} = 100 + 200 + 300 + 600 + 1000 = 2200 \] \[ N = 5 \Rightarrow \text{Среднее} = \frac{2200}{5} = 440 \]

Шаг 3: Сравнение и сбор номеров дней

Теперь сравниваем каждый расход с полученным средним. Если расход за день больше среднего, записываем номер этого дня в массив (дни считаем с 1).

Для каждого дня:

  • 1-й день: 100 < 440 (не включаем)
  • 2-й день: 200 < 440 (не включаем)
  • 3-й день: 300 < 440 (не включаем)
  • 4-й день: 600 > 440 (включаем, номер 4)
  • 5-й день: 1000 > 440 (включаем, номер 5)

Таким образом, в массив попадут дни 4 и 5.

Шаг 4: Вывод результата

Теперь, если у нас есть массив с номерами дней, когда расход превышал среднее:

result = [4, 5]

Если мы рассматриваем второй пример, где на входе:

2
500
500

Здесь:

  • Среднее = 500,
  • Оба дня (500 и 500) равны среднему, так что массив будет пустым [].

Пример кода

Вот пример реализации на Python:

# Считываем количество дней
N = int(input())
mb_used = []

# Считываем данные о расходе
for _ in range(N):
    mb_used.append(int(input()))
    
# Рассчитываем среднее значение
average_usage = sum(mb_used) / N

# Ищем дни, когда расход превышал среднее
result_days = [i + 1 for i in range(N) if mb_used[i] > average_usage]

# Выводим результат
print(result_days)

Вывод

Финальный вывод для первого примера:

[4, 5]

И для второго примера:

[]

Таким образом, мы успешно решили задачу!