17.01 Обработка пар элементов последовательности
Ошибка.
Попробуйте повторить позже
В файле содержится последовательность целых чисел. Элементы последовательности могу принимать целые
значения от до
включительно. Определите и запишите в ответе сначала количество пар элементов,
произведение которых кратно
и оканчивается на
, затем максимальную сумму, оканчивающуюся на
среди элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента
последовательности.
Например для последовательности из шести элементов:
Ответ:
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.
Решение программой
Напишем программу, которая будет проверять все пары соседних чисел из файла, отбирая те, где произведение кратно 38 и оканчивается на 2. Для проверки первого условия будем находить остаток от деления на 38 произведения и сравнивать его с 0, если остаток равен 0, то произведение кратно 38. Для проверки второго условия будем находить остаток от деления на 10 произведения и сравнивать его с 2, если остаток равен 2, то произведение оканчивается на 2. Для проверки третьего условия будем находить остаток от деления на 10 суммы и сравнивать его с 7, если остаток равен 7, то сумма оканчивается на 7. Количество и максимальную сумму подходящих пары будем сохранять в отдельные переменные, чтобы после отработки цикла вывести их количество и максимальную сумму.
# открываем файл f = open(’17.txt’) # считываем числа в список a = [int(x) for x in f] # количество подходящих пар counter = 0 # максимальная сумма пар maxim = 0 # Считываем все строки из файла и преобразуем их в целые числа, сохраняя в список ’a’ for i in range(len(a)-1): # Проверяем, что произведение текущего и следующего элемента кратно 38 и оканчивается на 2 # И сумма пары оканчивается на 7 if (a[i]*a[i+1]) % 38 == 0 and (a[i]*a[i+1]) % 10 == 2: # увеличиваем счётчик counter += 1 if (a[i]+a[i+1]) % 10 == 7: # перезаписываем максимальную сумму maxim = max(maxim, a[i]+a[i+1]) # вывод количества и максимальной суммы print(counter, maxim)
Специальные программы

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

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

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

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

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

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