Задание №16
ID: 417
Программирование: обработка последовательности чисел
Количество чисел известно
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, содержащее цифру 7 и делящееся на 3.
Программа получает на вход количество чисел в последовательности, затем сами числа. В последовательности всегда имеется хотя бы одно подходящее число.
Программа должна вывести одно число: максимальное число, содержащее цифру 7 и делящееся на 3.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 5 17 27 74 777 81 | 777 |
Задание выполняется на компьютере. После выполнения можно посмотреть решение.
Решение
Идея решения:
- Считываем количество чисел в последовательности.
- Создаём список
b, куда будем добавлять числа, которые делятся на 3 и содержат цифру 7. - Для каждого введённого числа проверяем кратность 3 и наличие цифры 7 в записи числа.
- Если число подходит под условие, добавляем его в список с помощью
append. - После обработки всех чисел перебираем список
bпо индексам и находим максимальное подходящее число. - В конце выводим найденный максимум.
Решение на Python:
n = int(input()) # считываем количество чисел
b = [] # создаём список для подходящих чисел
for i in range(n): # повторяем ввод n раз
a = int(input()) # считываем очередное число
if a % 3 == 0 and '7' in str(a): # проверяем кратность 3 и наличие цифры 7
b.append(a) # добавляем подходящее число в список
m = b[0] # считаем первое подходящее число начальным максимумом
for i in range(len(b)): # перебираем список по индексам
if b[i] > m: # проверяем, больше ли текущее число максимума
m = b[i] # обновляем максимум
print(m) # выводим максимальное подходящее число