Решение: Минимальное число на 6
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 6.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число — минимальное число, оканчивающееся на 6.
Решение по шагам
5 шаговСчитываем количество чисел в последовательности.
В качестве начального значения минимума можно взять число больше максимально возможного, например 30001.
$$minimum = 30001$$Для каждого числа проверяем, оканчивается ли оно на 6. Это выполняется, если остаток от деления числа на 10 равен 6.
$$x \bmod 10 = 6$$Если число подходит и меньше текущего минимума, заменяем значение минимума.
$$x < minimum$$После обработки всей последовательности выводим найденное минимальное число.
n = int(input())
minimum = 30001
for _ in range(n):
x = int(input())
if x % 10 == 6 and x < minimum:
minimum = x
print(minimum)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют последнюю цифру делением на 10 без использования остатка.
Ищут минимум среди всех чисел, не проверяя условие окончания на 6.
Задают начальное значение минимума, которое может оказаться меньше подходящего числа.
Выводят найденные числа по одному вместо одного минимального числа.