Вопрос задан 08.08.2026 в 17:08. Предмет Информатика. Спрашивает Малышева Вероника.

Пусть задана последовательность из N целых неотрицательных чисел. Медианой такой последовательности в случае нечётного N называется элемент, который будет равноудалён от концов последовательности, если её отсортировать по возрастанию или убыванию (нетрудно сообразить, что этот элемент имеет номер (N+1)/2 в отсортированной последовательности, если номера считать с единицы). В случае чётного N медианой называется среднее арифметическое двух элементов, которые окажутся на местах N/2 и (N/2)+1, если последовательность отсортировать. Однако исходная последовательность не обязана быть отсортированной. Напишите программу, которая по заданной входной последовательности вычисляет её медиану. Формат входных данных: С клавиатуры вводится количество элементов массива n (0 < n < 100) — размер массива. В следующей строке вводятся n элементов массива через пробел (0 ≤ a[i] < 10000). Формат выходных данных: Необходимо вывести одно число — медиану ряда чисел. Входные данные: 5 1 2 3 4 5 Выходные данные: 3

Перейти к ответам

Ответы на вопрос

Отвечает Сентебов Дима.

Нужно отсортировать массив, а потом взять средний элемент. Если элементов чётное число, берём среднее двух центральных.

Программа на Python:
n = int(input())
a = list(map(int, input().split()))
a.sort()

if n % 2 == 1:
    print(a[n // 2])
else:
    median = (a[n // 2 - 1] + a[n // 2]) / 2
    if median == int(median):
        print(int(median))
    else:
        print(median)

Для примера \(1, 2, 3, 4, 5\) после сортировки средний элемент — \(3\), поэтому ответ: \(3\).

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос