Тема 17. Обработка числовой последовательности

17.01 Обработка пар элементов последовательности

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка числовой последовательности
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#27460

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0  до 100  включительно. Определите и запишите в ответе сумму двух значений: количества пар элементов, в которых вторая с начала цифра произведения равна 4  и максимальной суммы, кратной 24  , среди этих пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Например, для последовательности из пяти элементов: 77 63 79 70 12 62  Ответ: 2

Вложения к задаче
Показать ответ и решение

Решение программой

Перебираем все пары подряд идущих чисел из последовательности. Для каждой пары вычисляем произведение и преобразуем его в строку, чтобы проверить вторую с начала цифру произведения. Если длина строки с произведением не меньше 2, проверяем, равна ли вторая цифра символу ’4’. Если условие выполняется, увеличиваем счётчик таких пар.

Для таких пар дополнительно проверяем, что сумма элементов кратна 24 и больше текущего максимума. Если да, обновляем максимум. В конце выводим сумму двух значений: количества таких пар и максимальной суммы кратной 24 среди них.

# Открываем файл и считываем числа в список
f = open("17.txt")
a = [int(s) for s in f]

# Счётчик пар с нужной второй цифрой произведения
count = 0
# Максимальная сумма, кратная 24, среди таких пар
maxim = 0

# Перебираем все пары подряд идущих чисел
for i in range(len(a) - 1):
    # Вычисляем произведение пары и преобразуем в строку
    p = str(a[i] * a[i + 1])

    # Проверяем, что в произведении не меньше двух цифр
    if len(p) >= 2:
        # Проверяем, равна ли вторая цифра ’4’
        if p[1] == ’4’:
            # Увеличиваем счётчик подходящих пар
            count += 1
            # Проверяем, кратна ли сумма 24 и больше ли максимума
            if (a[i] + a[i + 1]) % 24 == 0 and (a[i] + a[i + 1]) > maxim:
                # Обновляем максимальную сумму
                maxim = (a[i] + a[i + 1])

# Выводим сумму количества подходящих пар и максимальной суммы
print(count + maxim)

Ответ: 104032

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!