Вопрос по информатике:
Создайте последовательность A при помощи следующего генератора:
def pseudo_list():
for i in range(N):
yield (i*9876+1024)%1000
N = 10**6 + 1
A = pseudo_list())
# Элементы данной последовательности следует перебирать так:
for x in A:
pass # работа с очередным числом x
Найдите «медиану» данного псевдосписка чисел при помощи сортировки подсчётом.
Медиана — это число, которое находится ровно посередине списка, если список отсортировать.
В последовательности чисел A — 1066 + 1 число, все числа — целые неотрицательные от 0 до 999. Сохранять данную последовательность в список для последующей сортировки в данной задаче запрещено. Используйте сортировку подсчётом.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 06.03.2015 10:48
- Информатика
- remove_red_eye 1676
- thumb_up 17
Ответы и объяснения 1
Def pseudo_list():
for i in range(N):
yield (i*9876+1024)%1000
N = 10**6 + 1
A = pseudo_list()
count = [0] * 1000;
for x in A:
count[x] += 1
sum, k = 0, -1
while sum <= N // 2:
k += 1
sum += count[k]
print k
- 07.03.2015 13:31
- thumb_up 3
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.