Задание №16
ID: 417

Программирование: обработка последовательности чисел

Количество чисел известно

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, содержащее цифру 7 и делящееся на 3.

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

Программа должна вывести одно число: максимальное число, содержащее цифру 7 и делящееся на 3.

Пример работы программы:

Входные данныеВыходные данные
5
17
27
74
777
81
777
Задание выполняется на компьютере. После выполнения можно посмотреть решение.

Решение

Идея решения:

  1. Считываем количество чисел в последовательности.
  2. Создаём список b, куда будем добавлять числа, которые делятся на 3 и содержат цифру 7.
  3. Для каждого введённого числа проверяем кратность 3 и наличие цифры 7 в записи числа.
  4. Если число подходит под условие, добавляем его в список с помощью append.
  5. После обработки всех чисел перебираем список b по индексам и находим максимальное подходящее число.
  6. В конце выводим найденный максимум.

Решение на 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)  # выводим максимальное подходящее число