17.01 Обработка пар элементов последовательности
Ошибка.
Попробуйте повторить позже
В файле(dz17-14.txt) содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –1000 до 1000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых чётность чисел различна, при этом чётное число делится на 6, а нечётное на 13, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение программой
Программа последовательно перебирает все пары соседних чисел из файла. Для каждой пары сначала проверяется, что числа имеют разную чётность — то есть одно из них чётное, а другое нечётное.
Далее, если первое число в паре чётное, проверяется, что оно делится на 6 без остатка, а второе число (нечётное) делится на 13. Если это условие выполняется, пара подходит — увеличиваем счётчик и обновляем максимум суммы.
Если же первое число нечётное, проверяется, что оно делится на 13, а второе (чётное) — делится на 6. В этом случае также учитываем пару и обновляем максимальную сумму.
Таким образом, программа находит количество пар с разной чётностью, где чётное число кратно 6, а нечётное — кратно 13, и среди таких пар определяет максимальную сумму элементов.
# Открываем файл и считываем числа в список f = open(’dz17-14.txt’) s = [int(_) for _ in f] # Инициализируем счётчик подходящих пар counter = 0 # Инициализируем переменную для максимальной суммы maxim = -10 ** 10 # Перебираем все пары подряд идущих чисел for i in range(len(s) - 1): # Проверяем, что числа имеют разную чётность if s[i] % 2 != s[i + 1] % 2: # Если первое число чётное и делится на 6, а второе нечётное и делится на 13 if s[i] % 2 == 0 and s[i] % 6 == 0 and s[i + 1] % 13 == 0: counter += 1 maxim = max(maxim, s[i] + s[i + 1]) # Если первое число нечётное и делится на 13, а второе чётное и делится на 6 elif s[i] % 2 != 0 and s[i] % 13 == 0 and s[i + 1] % 6 == 0: counter += 1 maxim = max(maxim, s[i] + s[i + 1]) # Выводим количество подходящих пар и максимальную сумму print(counter, maxim)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!