В ЛКШ
переполох. Потерялся минимум. Ваша задача – найти его.
Вход. В первой строке задано число n (1 ≤ n ≤
1000). Во второй строке заданы n целых
чисел, каждое из которых по модулю не превышает 105.
Выход. Выведите
наименьшее из заданных n чисел.
|
Пример
входа |
Пример
выхода |
|
4 5 8 -4 6 |
-4 |
циклы
Задачу можно
решить как с использованием массива, так и без него. Минимальное значение будем
хранить в переменной min. Изначально
ей можно присвоить либо значение, равное “бесконечности” (например, число, большее или равное
максимально возможному значению среди входных данных – таким числом
может быть 10⁵), либо просто первое из введённых чисел.
Далее
последовательно обрабатываем все входные данные. Если текущее число меньше
текущего значения переменной min, обновляем её, присваивая новое
значение.
Пример
Рассмотрим, как
изменяется значение переменной min в процессе
обработки входной последовательности.

Читаем количество заданных чисел n.
scanf("%d",&n);
Инициализируем переменную min
большим числом – в ней будет храниться искомый минимум.
min = 100000;
Последовательно обрабатываем все n чисел.
for(i = 0; i < n; i++)
{
Читаем очередное значение val.
scanf("%d",&val);
Если это значение меньше текущего значения переменной min,
обновляем минимум.
if (val <
min) min = val;
}
Выводим найденный минимум.
printf("%d\n",min);
Читаем количество заданных чисел n.
scanf("%d",&n);
Читаем первое число
и присваиваем его переменной min – теперь
она хранит текущее минимальное значение.
scanf("%d",&min);
Затем читаем оставшиеся n – 1 число.
for(i = 1; i < n; i++)
{
Читаем очередное значение val.
scanf("%d",&val);
Если это значение меньше текущего значения переменной min,
обновляем минимум.
if (val <
min) min = val;
}
Выводим искомый минимум.
printf("%d\n",min);
Читаем входные данные.
scanf("%d", &n);
v.resize(n);
for (i = 0; i < n; i++)
scanf("%d", &v[i]);
Вычисляем и выводим наименьший элемент.
res = *min_element(v.begin(), v.end());
printf("%d\n", res);
Java реализация – вычисление минимума на лету
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int min = Integer.MAX_VALUE;
for(int i = 0; i < n; i++)
{
int val = con.nextInt();
if (val < min) min = val;
}
System.out.println(min);
con.close();
}
}
Java реализация – использование массива
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[] = new int[n];
// Read data
for(int i = 0; i < m.length; i++)
m[i] = con.nextInt();
// Find minimum in array
int min = Integer.MAX_VALUE;
for(int i = 0; i < m.length; i++)
if (m[i] < min) min = m[i];
// Print the minimum
System.out.println(min);
con.close();
}
}
Python реализация с индексами элементов списка
import sys
Читаем входные данные.
n = int(input())
m = list(map(int,input().split()))
Инициализируем переменную min
большим числом – в ней будет храниться искомый минимум.
min
= sys.maxsize
Последовательно обрабатываем элементы
списка m. В процессе
перебора обновляем переменную min, сохраняя в ней наименьший элемент
списка.
for i in range(n):
if m[i] < min: min = m[i]
Выводим ответ.
print(min)
Python реализация
import sys
Читаем входные данные.
n = int(input())
m = list(map(int,input().split()))
Инициализируем переменную min
большим числом – в ней будет храниться искомый минимум.
min
= sys.maxsize
Последовательно обрабатываем элементы
списка m. В процессе
перебора обновляем переменную min, сохраняя в ней наименьший элемент
списка.
for v in m:
if v < min: min = v
Выводим ответ.
print(min)
Python реализация – функция min
Читаем входные данные.
n = int(input())
m = list(map(int,input().split()))
Функция min
возвращает минимальный элемент в списке. Выводим ответ.
print(min(m))