
Вопрос задан 08.04.2025 в 12:29.
Предмет Информатика.
Спрашивает Рябченко Саша.
Дан массив, состоящий из целых чисел. Известно, что числа упорядочены по неубыванию (то есть каждый следующий элемент не меньше предыдущего). Напишите программу, которая определит количество различных чисел в этом массиве.
Входные данные
Сначала задано число N — количество элементов в массиве (1N100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел.
Выходные данные
Необходимо вывести единственное число - количество различных чисел в массиве.
Примеры
Входные данные
5
1 1 1 1 1
Выходные данные
1
Ответы на вопрос

Отвечает Мосин Олег.
Для решения этой задачи можно воспользоваться несколькими подходами. Наиболее простой способ — использовать свойства множества (set) в Python, так как множества автоматически удаляют дублирующиеся элементы. Ниже представлен подробный алгоритм и код.
Алгоритм решения:
- Прочитать входные данные:
- Сначала читается число — количество элементов в массиве.
- Затем считывается массив из элементов, которые упорядочены по неубыванию.
- Преобразовать массив в множество:
- Множество хранит только уникальные значения.
- Вывести длину множества, так как она равна количеству различных чисел в массиве.
Реализация на Python:
Пояснение кода:
- Считывание данных:
- Функция
input()
считывает строки ввода. map(int, input().split())
преобразует строку чисел в список целых чисел.
- Функция
- Создание множества:
set(array)
создает множество, удаляя дублирующиеся элементы.
- Вывод результата:
- Функция
len(unique_numbers)
возвращает количество элементов в множестве, то есть количество уникальных чисел.
- Функция
Пример работы программы:
Входные данные:
Пошаговая работа:
- , массив .
- Преобразование массива в множество: .
- Длина множества: .
Выходные данные:
Второй пример:
Входные данные:
Пошаговая работа:
- , массив .
- Преобразование массива в множество: .
- Длина множества: .
Выходные данные:
Альтернативный способ:
Если использование множества нежелательно, можно решить задачу перебором:
- Пройти по массиву и сравнивать каждый элемент с предыдущим.
- Если элемент отличается от предыдущего, увеличивать счетчик.
Код:
Этот подход также работает корректно, но использование множества более лаконично и читабельно.
Похожие вопросы









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









Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili