ПИТОН Напишите программу, которая находит в массиве номера элементов, равных минимальному.

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .

Выходные данные
Программа должна вывести в одной строке номера элементов массива, равных минимальному, разделив их пробелами.

Примеры
входные данные
5
1 2 1 3 1
выходные данные
1 3 5

Аланк Аланк    2   21.12.2020 16:36    46

Ответы
Dusa777 Dusa777  20.01.2021 16:42

n, a = int(input()), list(map(int, input().split()))

print(*(i + 1 for i in range(n) if a[i] == min(a)))

Объяснение:

Сначала считываем данные: размер массива и сам массив.

Затем выводим все такие индексы, для которых соответствующий элемент равен минимальному элементу массива. Прибавляем 1, потому что индексы начинаются с нуля.

ПОКАЗАТЬ ОТВЕТЫ
vitya123567 vitya123567  13.01.2024 21:42
Хорошо, давайте по шагам решим эту задачу. Начнем с написания алгоритма:

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
```

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