Дана последовательность целых чисел, оканчивающаяся нулём. Определите, сколько чисел в этой последовательности равны её наибольшему элементу. Ноль числом последовательности не считается.

Формат входных данных
Вводится не более чем 10000 целых чисел, каждое из которых не превосходит по модулю 215−1. После последнего числа вводится 0.
Формат выходных данных
Требуется вывести количество чисел, равных максимуму.

ПИТОН ПОМАГИТ

Siyara1 Siyara1    3   17.04.2020 19:13    40

Ответы
вано139 вано139  11.01.2024 23:20
Хорошо, давайте решим эту задачу шаг за шагом.

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

Шаг 1: Инициализация переменных
1.1 Создадим переменную `max_num` и присвоим ей самое маленькое возможное число. Для этого можно воспользоваться `float('-inf')`, чтобы установить максимальное значение.

1.2 Создадим переменную `count` и присвоим ей значение 0. В этой переменной мы будем подсчитывать количество чисел, равных наибольшему числу.

Шаг 2: Цикл по последовательности
2.1 Вводим первое число из последовательности и сохраняем его в переменную `num`.

2.2 Запускаем цикл, который будет выполняться до тех пор, пока значение переменной `num` не станет равным 0.

2.3 Внутри цикла проверяем, является ли текущее число `num` больше `max_num`.
- Если да, то обновляем значение `max_num` на значение `num` и сбрасываем значение `count` на 1, так как мы встретили новое наибольшее число и пока что только одно число равно этому новому наибольшему числу.
- Если нет, то проверяем, равно ли текущее число `num` значению `max_num`. Если да, то увеличиваем значение `count` на 1, так как мы встретили ещё одно число, равное наибольшему числу.

2.4 После проверки числа `num`, вводим новое число из последовательности и сохраняем его в переменную `num`.

Шаг 3: Вывод результата
3.1 Когда значение переменной `num` станет равным 0, цикл завершится, и мы выведем значение переменной `count`, которое и будет являться количеством чисел, равных наибольшему числу.

Вот как это выглядит на языке Python:

```python
max_num = float('-inf')
count = 0

num = int(input())

while num != 0:
if num > max_num:
max_num = num
count = 1
elif num == max_num:
count += 1

num = int(input())

print(count)
```

Надеюсь, это решение ясно и понятно. Если возникнут ещё вопросы, обязательно спрашивайте!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика