Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных чисел находит наименьшее число, кратное 3. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не является членом последовательности).
Количество чисел не превышает 1000. Введённые числа не превышают 30000. Гарантируется, что в последовательности есть хотя бы одно число, кратное 3.
Программа должна вывести наименьшее число, кратное 3.
Пример работы программы:
Входные данные | Выходные данные |
45 10 9 0 | 9 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа до тех пор, пока не встретится 0, и среди тех, что делятся на 3, найти самое маленькое.
Шаг 1: Выбор переменной для минимума.
Чтобы найти минимальное значение, нам нужна переменная (назовём её ), в которой мы будем хранить текущий «рекорд». В самом начале этой переменной нужно присвоить очень большое число, которое заведомо больше любого возможного числа в последовательности. По условию числа не превышают , поэтому мы можем взять начальное значение .
Шаг 2: Организация цикла.
Так как количество чисел заранее неизвестно, мы используем цикл while. Программа будет считывать число и проверять: не равно ли оно нулю? Если это не ноль, мы обрабатываем его и переходим к следующему.
Шаг 3: Проверка условий.
Для каждого введённого числа мы проверяем два условия одновременно:
1. Кратно ли оно 3? (Остаток от деления на 3 должен быть равен 0: ).
2. Меньше ли оно нашего текущего минимума? ().
Если оба условия выполняются, мы обновляем наш минимум: .
Шаг 4: Завершение работы.
Когда пользователь введёт 0, цикл прекратится, и нам останется только вывести накопленное значение .
Пример реализации на языке Python:
min_val = 30001
x = int(input())
while x != 0:
if x % 3 == 0 and x < min_val:
min_val = x
x = int(input())
print(min_val)
Разберём пример из условия: числа 45, 10, 9, 0.
1. Сначала .
2. Число 45: делится на 3 и . Теперь .
3. Число 10: не делится на 3. Пропускаем.
4. Число 9: делится на 3 и . Теперь .
5. Число 0: конец ввода. Выводим 9.
Ответ: 9
Источник: ФИПИ