ПИТОН Напишите программу, которая находит в массиве номера элементов, равных минимальному.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести в одной строке номера элементов массива, равных минимальному, разделив их пробелами.
Примеры
входные данные
5
1 2 1 3 1
выходные данные
1 3 5
n, a = int(input()), list(map(int, input().split()))
print(*(i + 1 for i in range(n) if a[i] == min(a)))
Объяснение:
Сначала считываем данные: размер массива и сам массив.
Затем выводим все такие индексы, для которых соответствующий элемент равен минимальному элементу массива. Прибавляем 1, потому что индексы начинаются с нуля.
1. Считываем значение N - размер массива.
2. Считываем N чисел и создаем массив, заполняя его данными.
3. Находим минимальное значение в массиве.
4. Создаем пустой список, в котором будем хранить индексы элементов, равных минимальному значению.
5. Проходим по всем элементам массива и, если значение элемента совпадает с минимальным значением, добавляем его индекс в список.
6. Выводим все элементы списка, разделяя их пробелами.
Теперь, приступим к написанию кода на языке Python:
```python
# Шаг 1: Считываем значение N
N = int(input())
# Шаг 2: Создаем массив и заполняем его данными
arr = list(map(int, input().split()))
# Шаг 3: Находим минимальное значение в массиве
min_value = min(arr)
# Шаг 4: Создаем пустой список для хранения индексов
indices = []
# Шаг 5: Проходим по всем элементам массива
for i in range(N):
# Шаг 5.1: Если значение элемента совпадает с минимальным значением
if arr[i] == min_value:
# Шаг 5.2: Добавляем индекс элемента в список
indices.append(i + 1) # Увеличиваем индекс на 1, так как в задаче нумерация элементов начинается с 1, а не с 0
# Шаг 6: Выводим все элементы списка
print(' '.join(map(str, indices)))
```
Давайте пошагово разберем данный код:
```python
N = int(input())
```
На данном шаге мы считываем значение N, которое указывает на количество элементов в массиве.
```python
arr = list(map(int, input().split()))
```
На данном шаге мы считываем N чисел, разделенных пробелом, и создаем массив `arr`, заполняя его данными. Функция `map(int, input().split())` преобразует каждое считанное значение в целое число.
```python
min_value = min(arr)
```
На данном шаге мы находим минимальное значение в массиве `arr` с помощью встроенной функции `min()`.
```python
indices = []
```
На данном шаге мы создаем пустой список `indices`, в котором будем хранить индексы элементов, равных минимальному значению.
```python
for i in range(N):
if arr[i] == min_value:
indices.append(i + 1)
```
На данном шаге мы проходим по всем элементам массива `arr` и, если значение элемента совпадает с минимальным значением (`arr[i] == min_value`), добавляем его индекс `i + 1` (увеличенный на 1) в список `indices`.
```python
print(' '.join(map(str, indices)))
```
На данном шаге мы выводим все элементы списка `indices`, разделяя их пробелами с помощью функции `' '.join()`. Функция `map(str, indices)` преобразует каждый элемент списка в строку, а `' '.join()` объединяет эти строки, разделяя их пробелами.
Теперь, если мы запустим программу и введем входные данные, как в примере:
```
5
1 2 1 3 1
```
Мы получим ожидаемый результат:
```
1 3 5
```
Надеюсь, ответ понятен. Если у вас возникнут еще вопросы, пожалуйста, не стесняйтесь задавать их.