Вопрос задан 13.07.2023 в 12:25. Предмет Информатика. Спрашивает Бахмутова Анастасия.

Заполнить массив случайными числами и отсортировать его. Ввести число X. Используя двоичный

поиск, определить, сколько чисел, равных X, находится в массиве. Пример: Массив: 1 4 7 3 9 2 4 5 2 После сортировки: 1 2 2 3 4 4 5 7 9 Введите число X: 4 Число 4 встречается 2 раз(а). Пример: Массив: 1 4 7 3 9 2 4 5 2 После сортировки: 1 2 2 3 4 4 5 7 9 Введите число X: 14 Число 14 не встречается. ТОЛЬКО НЕ НУЖНО КОПИРОВАТЬ С ДРУГИХ САЙТОВ, НАПИШИТЕ САМИ ПОЖАЛУЙСТА, ЕСЛИ КТО-ТО ШАРИТ
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Фигуркин Вова.

import random

number_list = []

for g in range(8):

   number_list.append(random.randint(0, 10))

print('массив:\n' + str(number_list))

number_list.sort()

print('после сортировки:\n' + str(number_list))

x = int(input('введите число X: '))

if number_list.count(x) != 0:

   print('число %s встречается ' % x + str(number_list.count(x)) + ' раз(а) .')

else:

   print('число %s не встречается в списке .' % x)

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример кода на Python, который решает данную задачу:

python
import random def binary_search_count(arr, target): left, right = 0, len(arr) - 1 count = 0 while left <= right: mid = (left + right) // 2 if arr[mid] == target: count += 1 # Поиск дополнительных вхождений слева и справа left = mid + 1 right = mid - 1 elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return count # Создаем и сортируем массив array = [random.randint(1, 10) for _ in range(10)] array.sort() print("Массив:", " ".join(map(str, array))) # Ввод числа X x = int(input("Введите число X: ")) # Используем двоичный поиск для подсчета вхождений числа X count_x = binary_search_count(array, x) if count_x > 0: print(f"Число {x} встречается {count_x} раз(а).") else: print(f"Число {x} не встречается.")

Этот код создает массив случайных чисел, сортирует его, затем запрашивает ввод числа X и использует двоичный поиск для подсчета количества вхождений этого числа в массиве.

0 0

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

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

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

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