• Создайте последовательность 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. Сохранять данную последовательность в список для последующей сортировки в данной задаче запрещено. Используйте сортировку подсчётом. Язык Питон.

Ответы 1

  • def pseudo_list():    for i in range(N):        yield (i*9876+1024)%1000N = 10**6 + 1A = pseudo_list()count = [0] * 1000for x in A:    count[x] += 1x = 0sum_count = count[0]while sum_count <= N//2:    x += 1    sum_count += count[x]    print(x)Ответ: 496
    • Автор:

      amareclay
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years